Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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-Ajax未启动_Javascript_Jquery_Ajax_Spring_Rest - Fatal编程技术网

Javascript jQuery-Ajax未启动

Javascript jQuery-Ajax未启动,javascript,jquery,ajax,spring,rest,Javascript,Jquery,Ajax,Spring,Rest,以下ajax的工作原理与Chrome中的广告完全相同。HTTP PUT用于触发将对象插入RESTful API $.ajax({ type: "PUT", url: "/ajax/rest/team/create/", dataType: "json", processData: false, data: JSON.stringify(teamObject),

以下ajax的工作原理与Chrome中的广告完全相同。HTTP PUT用于触发将对象插入RESTful API

        $.ajax({
            type: "PUT",
            url: "/ajax/rest/team/create/",
            dataType: "json",
            processData: false,
            data: JSON.stringify(teamObject),
            success: function (response) {
                teamObject = response.object;
            }
        }); 
我注意到jQueryAPI文档很有帮助地告诉我,PUT和DELETE可以工作,但并非在所有浏览器中都能保证。这就是我的问题

对于这样的问题,如何在客户端实现RESTful API

编辑:Firebug告诉我FF确实发出了PUT,但由于一些目前未知的原因,它在到达服务器之前就已经死亡了。重复一次,这在Chrome中运行良好


编辑:Fiddler根本看不到FF尝试:(

我做了以下工作

var payload = JSON.stringify(teamObject)
syncHTTP('/ajax/rest/team/create/', 'PUT', payload);

function syncHTTP(url,method,payload) {
    var client = new XMLHttpRequest();

    client.open(method, url, false);
    client.setRequestHeader("Content-Type", "text/plain");
    client.send(payload);
}
我宁愿使用jQuery,也不愿使用我自己的方法。|如果有人想出了答案,只需添加一个答案,如果它有效,我会接受它

谢谢

    $.ajax({
        type: "PUT",
        url: "/ajax/rest/team/create/",
        dataType: "json",
        contentType: "application/json",
        processData: false,
        data: JSON.stringify(teamObject),
        success: function (response) {
            teamObject = response.object;
        }
    }); 

您需要添加contentType。当contentType设置为application/json jquery时,不要尝试从json字符串创建json对象,而是将其按原样-按字符串发送。

有许多后端支持的标题(或者您可以扩展框架以支持它):
X-HTTP-Method-Override
。基本上,它允许您进行例如
POST
调用,但使其显示为
PUT
DELETE
等。您能解释一下为什么您的更改可能会有所帮助吗?@krun下次发布一些说明,而不是只是在此处粘贴代码。对不起,我没有解释的情况是这样的。