Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery.post上,我得到一条消息:请求的URL不允许使用get方法_Javascript_Jquery_Python_Ajax_Flask - Fatal编程技术网

Javascript 在jQuery.post上,我得到一条消息:请求的URL不允许使用get方法

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

我有以下问题:

我在一个Flask应用程序上工作,我想通过AJAX将一些数据传递给服务器。我对AJAX这个东西还不太熟悉,所以我不能做正确的事情

在我的客户端,当用户单击图标时,我希望通过变量消息中存储的jQuery.post传递一些数据:

在我的服务器端,我有以下代码:

@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:当我尝试你的方式时,它是一样的,所以可能这不是问题所在。还有其他想法吗?