Ajax POST不适用于Flask / IIS7.5

时间:2018-07-31 13:45:06

标签: python jquery post flask iis-7.5

因为我开始发疯,所以我真的需要您的帮助xD
我想制作一个简单的Ajax POST,并希望将JSON数据发送到python脚本以稍后将其保存在服务器上。
我正在使用python 3.6.4(带有wfastcgi.py的anaconda3)作为后端,而Javascript(jQuery)和Flask作为前端。

这是我从Chrome开发工具->网络中获得的信息:

enter image description here

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模块,我可以找到这个:

enter image description here

但是我不知道在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获取代码。

2 个答案:

答案 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脚本,我也不知道。
但是至少现在我可以使用这些数据。