因为我开始发疯,所以我真的需要您的帮助xD
我想制作一个简单的Ajax POST,并希望将JSON数据发送到python脚本以稍后将其保存在服务器上。
我正在使用python 3.6.4(带有wfastcgi.py的anaconda3)作为后端,而Javascript(jQuery)和Flask作为前端。
这是我从Chrome开发工具->网络中获得的信息:
ifelse
来自本地python服务器Werkzeug,POST 1
来自IIS 7.5。
我同时展示了两者,希望它能帮助您找到问题所在。我只需要一种方法来修复IIS。
我已经尝试了:
POST 2
和Access-Control-Allow-Origin等
<customHeaders>
与<requestFiltering>
或<add verb="POST" allowed="true" />
将<verbs allowUnlisted="true">
动词从OPTIONS更改为POST(不要问我,在这里找到它)
但这没有帮助。
通过OPTIONSVerbHandler
模块,我可以找到这个:
但是我不知道在IIS的什么地方可以使用FastCgi进行任何更改以使其与POST一起使用。
我的Ajax POST:
Failed Request Tracing Rules
});
ps。链接到文件之所以起作用,是因为当我将POST更改为GET时,我从$.ajax({
url: "/static/scripts/saveData.py",
type: "post",
data: JSON.stringify(tableObject),
dataType: "json",
success: function(response) {
console.log(response);
},
error: function(error){
console.log(error)
}
中的saveData.py获取代码。
答案 0 :(得分:0)
我认为您忘记在烧瓶溃败中注册此方法:
@app.route('/login', methods=['POST', 'GET'])
答案 1 :(得分:0)
Soooo,经过将近两天的网上浏览,并尝试了各种方法使其正常工作,我终于找到了一种发送Ajax POST的方法。
基本上,我不得不将目标URL curl_setopt($ch, CURLOPT_COOKIE, jsontocookie($json));
从本地地址更改为Flask URL "/static/scripts/saveData.py"
,这使我能够通过POST发送数据并在views.py(我的主烧瓶视图文件)中对其进行字母处理。
"/annotate"
现在,为什么这样可以正常工作,并且无法正常发布.py脚本,我也不知道。
但是至少现在我可以使用这些数据。