0

我正在尝试通过 jQuery 调用 WebService 方法,但它不起作用。

代码如下...

jQuery

$.ajax({
    type: "POST",
    data: "{}",
    dataType: "json",
    url:'test.asmx/GetSurvey',
    contentType:"application/json;charset=utf-8",
    success: function(data) {
        $("#Span1").html(data.d);
    }
});

test.asmx (WebService) 代码如下:

[WebMethod]
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string GetSurvey()
{
    return "Question: Who is Snoopy?";
}

可能是什么问题呢?

4

3 回答 3

1

这里的jQuery代码:

$.ajax({
type : "POST",
data : "",
dataType : "json",
url : 'test.asmx/GetSurvey',
contentType : "application/json;charset=utf-8",
success : function(data) {
    $("#Span1").html(data);
 }
});

您已经从某个位置复制粘贴了代码,并且没有删除enter your codeurl 中的“”,所以这就是问题所在..

编辑:

url: '<%=ResolveUrl("~/test.asmx/GetSurvey") %>',

尝试以这种方式通过路径

于 2013-04-26T06:30:34.520 回答
1

在你的 ajax 调用中

$.ajax({
type: "POST",
data: "{}",
dataType: "json",
url:'test.asmx/GetSurvey',
contentType:"application/json;charset=utf-8",
success: function(data) {
console.log(data);
    $("#Span1").html(data.d);
}
});

您可以在控制台选项卡中使用 Chrome 开发工具查看此日志。此外,您可以使用网络选项卡中的 Chrome devtools 监控您的请求/响应

查看它以获取有关 Chrome 开发工具的更多信息Chrome 开发工具:网络和控制台

于 2013-04-26T08:18:57.513 回答
-1

1)"Question: Who is Snoopy?"不是 JSON。

2)data.d什么都不引用。

3)enter code here是乱码,删除它。

4)如果您没有要发送的数据,那么您可以data在 AJAX 选项中省略,"{}"无论如何定义参数的方法都是错误的。

阅读本文以了解如何发送/返回 JSON 并正确使用它。

于 2013-04-26T06:42:05.837 回答