通过jQuery调用WebService方法

时间:2013-04-26 06:25:01

标签: jquery web-services

我正在尝试通过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?";
}

可能是什么问题?

3 个答案:

答案 0 :(得分: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 code '在网址中 所以这就是问题..

<强>编辑:

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

尝试以这种方式传递路径

答案 1 :(得分: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 devtools查看此日志。 此外,您还可以使用网络标签

中的Chrome devtools监控您的请求/响应

查看有关Chrome devtools Chrome Dev Tools: Networking and the Console

的更多信息

答案 2 :(得分:-1)

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

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

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

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

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