Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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
Jquery 我在带有PUT方法的ajax中的请求返回错误500_Jquery_Ajax - Fatal编程技术网

Jquery 我在带有PUT方法的ajax中的请求返回错误500

Jquery 我在带有PUT方法的ajax中的请求返回错误500,jquery,ajax,Jquery,Ajax,我试图使用Ajax的put方法来更新我的表,它存储在rest服务器上,但是我得到了500个错误(内部服务器错误),我不知道该怎么办,有人能帮我吗?我是ajax编程新手 $(document).on('click', "#modalgravar", function(){ var eURL = 'http://localhost:8081/datasnap/rest/TCadastros/Grupo/'; var Ecdgrupo = $("#Cdgrupoedit").val();

我试图使用Ajax的put方法来更新我的表,它存储在rest服务器上,但是我得到了500个错误(内部服务器错误),我不知道该怎么办,有人能帮我吗?我是ajax编程新手

$(document).on('click', "#modalgravar", function(){

var eURL = 'http://localhost:8081/datasnap/rest/TCadastros/Grupo/';
    var Ecdgrupo = $("#Cdgrupoedit").val();
    var Egrupo = $("#grupoedit").val();
    var eData ={"Cdgrupo": Ecdgrupo, "Grupos": Egrupo};

alert(JSON.stringify(eData));

    $.ajax({
       type:'PUT',
       url: eURL,
       data: JSON.stringify(eData),
        success: function(){
        alert("Editado!");
              },
        error: function(){
            alert("ERRO:  O grupo não foi editado!");
        }
    }); 

添加此
contentType:'application/json',


确保您的api端点将PUT请求与您在ajax请求中发送的RequestBody一起响应。

如果您想在Datasnap中使用PUT方法,您需要更改服务器端的过程名称。名称应以“accept”开头,如“acceptURIMethodName”。所以在这种情况下可能是“acceptGrupo”。那么方法URL将是:
问题解决了!问题是服务器上缺少标题,因此我在使用cors时遇到问题。

您正在从客户端发布代码,但状态500表示错误发生在服务器端。你也能从服务器上发布代码吗?@PPetkov很遗憾,我不能发布服务器代码,但我确信它与PUT兼容。从我对Ajax的一点了解来看,我相信服务器没有意识到我的调用是put,因为错误返回为:OPTIONS 500(内部服务器错误),我添加了application/json,但它也不起作用。同样的错误。在IE中工作,但在chrome中没有。在IE中工作?尝试禁用chrome扩展,比如AdBlock。我不使用任何AdBlock