如何解决GET http:// localhost:5000 / data 404未找到
我创建了一个供用户输入的表单,并使用flask在app.py中运行它。我要实现的是能够获取用户数据,然后将其保存到我的mongodb数据库中。这是我的表单HTML。
<!DOCTYPE html>
<html>
<head>
<Meta charset="UTF-8">
<Meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="stylesheet" href="../static/Recording.css">
</head>
<div class="header">
<h1>Create a recording</h1>
</div>
<body>
<div class="create">
<form name="formdata">
<label for="trolley">Trolley</label>
<input type="text" id=trolley name="trolley" size="180" required>
<label for="datetime">Date & time</label><br>
<input type="datetime-local" id="datetime" name="datetime"><br required>
<label for="temp">Temperature</label>
<input type="text" id="temp" name="temp" size="180" required>
<input id="button1" type="submit" value="Record"">
</form>
<script src="https://cdn.jsdelivr.net/npm/papaparse@5.2.0/papaparse.min.js"></script>
<script src="../static/Recording.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="../static/database.js"></script>
</body>
</html>
这是我的app.py文件
from flask import Flask,render_template,jsonify,json,request
from flask_pymongo import PyMongo
from pymongo import MongoClient
app = Flask(__name__)
#routes
from q2 import subroutes
client = MongoClient("mongodb+srv://Stanislas:reddevils97@tma.p1mbs.mongodb.net/<dbname>?retryWrites=true&w=majority")
db = client.get_database("smarttrolley")
records = db.recordings
@app.route("/")
def home():
return render_template('SmartTrolley.html')
@app.route("/userinput/")
def userinput():
return render_template('Recording.html')
if __name__=='__main__':
app.debug = True
app.run(port=5000)
'''
这是我的subroutes.py文件,该文件处理用户数据并将其发布在路由“ / data”中
from flask import Flask
from app import app
from q2.models import User
@app.route("/data",methods=["POST"])
def data():
return User().input()
这是我的models.py文件,该文件从“ / data”路由收集数据,然后继续将数据插入到我的mongoDB数据库中。
from flask import Flask,request
from app import db,records
class User:
def input(self):
inputs = {
"_id": "","trolleyname": request.form.get('trolley'),"Date & Time": request.form.get('datetime'),"Temperature": request.form.get('temp')
}
db.records.insert_one(inputs)
return jsonify(inputs),200
我正在使用jquery ajax调用来发送数据。每当用户提交数据时,我都可以通过console.log接收数据,并且一切正常。但是,我收到错误“ GET http:// localhost:5000 / data 404(NOT FOUND)”,这表明他们找不到我的“ / data”路由。有谁能够帮助我并找出问题所在,因为我已经将子路由导入了我的app.py,但似乎没有任何反应。谢谢
解决方法
仅允许在您的代码中使用POST方法
Bla
#您在这里使用GET方法
获取http:// localhost:5000 / data 404(未找到)
将以上代码更改为以下内容:
@app.route("/data",methods=["POST"])
def data():
return User().input()
#或者您可以按POST请求
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。