3

这有效

[System.Web.Services.WebMethod]
public static string Save_HH()
{
    return "abc";
}

这不起作用

[System.Web.Services.WebMethod]
public static string Save_HH(string myString) // (int i, string s) (object o) etc
{
    return "abc";
}

这是ajax调用

$.ajax({
    type: "POST",
    url: "Default.aspx/Save_HH",
    data: {}, // data: JSON.stringify({abc:123}),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (response) {
        btn.css("visibility", "visible");
        $("#ta_response").text(response.d);
    },
    fail: function () {
        alert("fail");
    },
});

此错误消息是 POST localhost(cant post link on my new account)/Default.aspx/Save_HH 500 (Internal Server Error)


在这一点上,这个问题似乎相当清晰和简洁,但我只是被阻止按原样发布它。我不想多说什么,因为我认为这是一个结构良好的问题,说其他任何事情都会让读者感到困惑。

4

2 回答 2

3

如果你替换这个:

data: {}, // data: JSON.stringify({abc:123}),

有了这个:

data: { myString : "test" }

它应该开箱即用。

请记住,您通过$.ajax调用传递的参数的名称和类型必须与您在WebMethod. 否则将不会发生绑定,并且您的myString参数将null(在字符串类型的情况下)在 WebMethod 内Save_HH

于 2012-10-22T02:59:23.080 回答
0
jQuery.ajax( url [, settings] )

url包含请求发送到的 URL 的字符串。
settings一组配置 Ajax 请求的键/值对。所有设置都是可选的。可以使用 $.ajaxSetup() 为任何选项设置默认值。

于 2012-10-22T02:57:04.580 回答