Javascript 在jQuery.post上,我得到一条消息:请求的URL不允许使用get方法
我有以下问题: 我在一个Flask应用程序上工作,我想通过AJAX将一些数据传递给服务器。我对AJAX这个东西还不太熟悉,所以我不能做正确的事情 在我的客户端,当用户单击图标时,我希望通过变量消息中存储的jQuery.post传递一些数据: 在我的服务器端,我有以下代码:Javascript 在jQuery.post上,我得到一条消息:请求的URL不允许使用get方法,javascript,jquery,python,ajax,flask,Javascript,Jquery,Python,Ajax,Flask,我有以下问题: 我在一个Flask应用程序上工作,我想通过AJAX将一些数据传递给服务器。我对AJAX这个东西还不太熟悉,所以我不能做正确的事情 在我的客户端,当用户单击图标时,我希望通过变量消息中存储的jQuery.post传递一些数据: 在我的服务器端,我有以下代码: @app.route('/graph', methods = ['POST']) @login_required def physical_graph(): ret_data = request.form['GRAPH
@app.route('/graph', methods = ['POST'])
@login_required
def physical_graph():
ret_data = request.form['GRAPH_TYPE']
return ""
现在我只想访问服务器端的GRAPH_类型。但是,当我单击图标时,会收到错误消息:
方法不允许
请求的URL不允许使用GET方法
我真的不明白为什么Python告诉我我在使用GET方法,而实际上我在使用POST方法
有人能帮我吗?我该怎么解决这个问题?如果有其他方法我可以使用,请随时给我任何建议。请记住,除了jQuery,我不想使用其他JavaScript库
提前谢谢你 这是因为您正在以
数据
的形式传递对象
var message = {
'GRAPH_TYPE': graphType
};
var message = JSON.stringify({ "GRAPH_TYPE": graphType });
在这种情况下,jQuery
尝试对对象进行URL编码,并默认使用数据类型application/x-www-form-urlencoded发送;charset=UTF-8
ans发送一个GET
请求。要解决此问题,请确保您正在为数据参数传递jQuery
字符串,为此,您可以使用JSON.stringify
等
var message = {
'GRAPH_TYPE': graphType
};
var message = JSON.stringify({ "GRAPH_TYPE": graphType });
您是如何确认实际发布的?我会使用firefox上的firebug控制台或chrome上的网络XHR来检查控制台上ajax调用的详细信息。当我点击“icon_ID”图标时,我得到:get/graph HTTP/1.1“405,这意味着是一个GET而不是POST,但我不知道为什么。我希望这就是你要问的?顺便说一句,我在Chrome上工作,如果这很重要的话。但是我接受了,所以消息应该没问题。@Sheikh Heera:当我尝试你的方式时,它是一样的,所以可能这不是问题所在。还有其他想法吗?