javascript - Jquery AJAX 帖子 : 500 (Internal Server Error)?

标签 javascript jquery ajax web-services google-chrome-extension

我正在尝试将字符串发布到网络服务,但收到此错误(Google Chrome 扩展项目):

jquery-2.1.1.min.js:4 POST http://localhost:49242/Service.asmx/test 500 (Internal Server Error)

这是我的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"},然后您的服务应该能够绑定(bind) param1 参数。

关于javascript - Jquery AJAX 帖子 : 500 (Internal Server Error)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36611400/

相关文章:

Javascript 滚动 fullpage.js。如何在强力滚动时滚动多个部分,而不是一个部分?

javascript代码不再改变字体颜色

javascript - 当键相同时合并 2 个对象值

javascript - JavaScript 运行时离开页面

jQuery 不触发附加项

jquery - 如何在PC屏幕上显示8个视频,在手机屏幕上显示4个视频

python - 使用 Javascript 更改 Django 模型

javascript - 在 Javascript (Vue.js) 中按多种美食过滤位置

javascript - 如何使用 JavaScript 应用 CSS 属性?

asp.net - IE 7 停止响应