打开jQuery.post,我得到消息:请求的URL不允许使用get方法

2024-10-03 17:20:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下问题:

我在一个Flask应用程序上工作,我想通过AJAX向服务器传递一些数据。我对AJAX很陌生,所以我不能做正确的事情。在

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

jQuery("#icon_ID").click(function() {
    var message = {
        'GRAPH_TYPE': graphType
    };
    var _sendOnSuccess = function () {
    }

    var jqxhr = jQuery.post('/graph', message, _sendOnSuccess, 'json');
});

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

^{pr2}$

我现在只想访问服务器端的GRAPH_类型。但是,当我单击图标时,我收到错误消息:

Method Not Allowed

The method GET is not allowed for the requested URL.

我真的不明白为什么Python告诉我我使用的是GET方法,而实际上我使用的是POST方法。在

有人能帮帮我吗?我该怎么解决这个问题?如果有其他方法我可以使用,请随时给我任何建议。请记住,除了jQuery,我不想使用其他JavaScript库。在

提前谢谢你!在


Tags: 数据方法消息flaskmessagegetvar服务器端
1条回答
网友
1楼 · 发布于 2024-10-03 17:20:14

这是因为您将object作为data来传递

var message = {
    'GRAPH_TYPE': graphType
};

在本例中,jQuery尝试对对象进行URL编码,默认情况下使用数据类型application/x-www-form-urlencoded; charset=UTF-8发送一个GET请求。要解决这个问题,请确保您正在为data参数传递jQuery一个字符串,要做到这一点,您可以使用JSON.stringify类似

^{pr2}$

相关问题 更多 >