Jquery AJAX Post:500(内部服务器错误)

Jquery AJAX Post: 500 (Internal Server Error)?

本文关键字:内部 服务器 错误 AJAX Post Jquery      更新时间:2024-06-22

我正在尝试将字符串发布到web服务,但我收到了这个错误(谷歌Chrome扩展项目):

jquery-2.1.1.min.js:4 POSThttp://localhost:49242/Service.asmx/test500(内部服务器错误)

这是我的ajax代码:

var data = {};
data.param1 = words[0];
$.ajax({
    data: JSON.stringify({ 'data': data.param1 }),
    dataType: 'application/json',
    url: 'http://localhost:49242/Service.asmx/test',
    type: 'POST',
    contentType: 'application/json; charset=utf-8',
    success: function (result) {
        alert(result);
    },
    failure: function (errMsg) {
        alert(errMsg);
    }
});

我的服务:

[WebMethod]
[System.Web.Script.Services.ScriptMethod(ResponseFormat = System.Web.Script.Services.ResponseFormat.Json)]
public string test(string param1) {
    return param1;
}

我正在处理这个问题大约3天。你能帮我吗?

顺便说一句,我有个问题。我使用ajax向服务发布json变量(如您所见),但服务返回xml值。有问题或[System.Web.Script.Services.ScriptMethod(ResponseFormat = System.Web.Script.Services.ResponseFormat.Json)]这个代码块解决问题吗?

您的错误来自数据参数。字符串化data对象而不是{ 'data': data.param1 }:

var data = {};
data.param1 = words[0];
$.ajax({
    data: JSON.stringify(data),
    dataType: 'application/json',
    url: 'http://localhost:49242/Service.asmx/test',
    type: 'POST',
    contentType: 'application/json; charset=utf-8',
    success: function (result) {
        alert(result);
    },
    failure: function (errMsg) {
        alert(errMsg);
    }
});

您的字符串化数据将产生{"param1":"Words"},那么您的服务应该能够绑定param1参数。

我在AJAX发布响应时遇到了这种类型的错误。我在这个问题上花了太多时间,最后我抓住了它

它抛出一个500内部错误,因为AJAX响应有很多来自服务器的内容,所以它返回一个执行超时。

所以我只是在下面加了一行,它运行得很好。

Page.Server.ScriptTimeout = 300;