Javascript 无法通过JSON发布
我正在尝试将网页中的用户文本发送到我的flask应用程序,以便在用户文本上运行脚本,然后返回结果。我遇到的问题是,文本没有出现在服务器(flask_app.py)端。下面是应该发送文本的.js(index.js): 这是正在尝试接收它的Flask应用程序。我尝试过几个不同的版本(来自其他堆栈溢出问题和各种教程),但都不起作用。它们被标记为content1-5 烧瓶_app.py:Javascript 无法通过JSON发布,javascript,jquery,python,json,Javascript,Jquery,Python,Json,我正在尝试将网页中的用户文本发送到我的flask应用程序,以便在用户文本上运行脚本,然后返回结果。我遇到的问题是,文本没有出现在服务器(flask_app.py)端。下面是应该发送文本的.js(index.js): 这是正在尝试接收它的Flask应用程序。我尝试过几个不同的版本(来自其他堆栈溢出问题和各种教程),但都不起作用。它们被标记为content1-5 烧瓶_app.py: @app.route('/analyze', methods=['POST']) def analyze():
@app.route('/analyze', methods=['POST'])
def analyze():
print('You made it to analyze', file=sys.stderr) #This gets printed
content = request.get_json(silent=True)
content2 = request.json
content3 = request.get_json()
content4 = request.form.get('html', '')
content5 = request.form['contents']
print(content, file=sys.stderr) #These all return "None"
print(content2, file=sys.stderr) #Trying to make them return user text
print(content3, file=sys.stderr)
print(content4, file=sys.stderr)
print(content5, file=sys.stderr)
text = "The text is not being found"
results = my_script(content) #Run a script on whichever works
return jsonify({'results': results})
以下是尝试发送信息的页面(index.html):
不工作按钮
工作按钮
编辑:当我在浏览器中查看时,我看到帖子似乎发送了正确的字符串:“here+is+my+text”
应该是正确的JSON,应该是
data: {
"value":text
}
其中,
value
是键,文本变量是值。需要指定文本为html的请求:
$.ajax({
type: 'POST',
url: "analyze",
data: {html:text},
dataType: 'json',
success: function (ret) {
alert('JSON posted: ' + JSON.stringify(ret));
}
});
在flask应用程序上,可通过以下行读取请求:
content4 = request.form.get('html', '')
我按照您的建议添加了“value”,但仍然得到了相同的结果。您得到的错误是什么,您的flask app是否能够使用
value
键接收JSON数据请求?在浏览器中检查POST请求实际发送的内容。它似乎发送了正确的值。在“值”更改之后,它是:值:“这里+是+我的+文本”然后在烧瓶侧出现问题,看看这个
data: {
"value":text
}
$.ajax({
type: 'POST',
url: "analyze",
data: {html:text},
dataType: 'json',
success: function (ret) {
alert('JSON posted: ' + JSON.stringify(ret));
}
});
content4 = request.form.get('html', '')