0

我正在尝试将参数传递给我的静态 Web 方法(位于 asp.net 页面中)。我试图通过值为“myvalue”的“test1”参数。关于我做错了什么的任何想法?

$.ajax({
    type: "POST",
    url: "WebForm1.aspx/WebMethod1",
    data: {"test1": "myvalue"},
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) {
        alert(msg.d);
    }
});
4

3 回答 3

1

我的“数据”部分是错误的。它需要是“{'test1':'myvalue'}”

于 2009-02-08T07:37:01.917 回答
0

你遇到了什么错误?

我之前使用过原型(类似于 jQuery for ajax),并且您不引用参数名称。所以你的数据参数可能应该是:

data: {test1: "myvalue"}

试一试。

您也可以尝试设置 Fiddler 并查看正在发出的实际请求。

于 2009-02-04T13:08:11.563 回答
0

按照您的设置方式,ajax 调用中可能发生的任何错误都会被默默地吞下。我建议添加这样的错误回调:

$.ajax({
    type: "POST",
    url: "WebForm1.aspx/WebMethod1",
    data: {"test1": "myvalue"},
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) {
        alert(msg.d);
    },
    error: function(response) {
        $('body',document).html(response.responseText);
    }
});

此外,如果您使用的是 Visual Studio,则可以在调试模式下运行 ASP.NET 应用程序以捕获任何服务器端错误。您还可以在服务器端代码中的某处放置断点,以确保它完全被命中,并检查 Request.Form 集合。

希望这可以帮助。

于 2009-02-04T20:28:59.397 回答