2013-04-26 65 views
0

我试图通过jQuery调用WebService方法,但它不工作。通过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?"; 
} 

可能是什么问题呢?

+0

用于检查您的服务response.its帮助你 – 2013-04-26 06:57:38

+0

我怎么能添加console.log(数据) – 2013-04-26 07:57:38

回答

1

这里jQuery代码:

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

你已拷贝URL粘贴 代码一些地方,并没有删除 'enter your code',所以这就是问题..

编辑:

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

尝试通过路径这样的方式

+0

不...我删除了在我的代码....但仍然不工作... – 2013-04-26 06:33:17

+0

@ user2322540你在错误控制台得到什么错误? – 2013-04-26 06:33:46

+0

请求URL:http://本地主机:6276/ExaminationSystem/test.asmx/GetSurvey 请求方法:POST 状态代码:500内部服务器错误 – 2013-04-26 06:36:45

-1

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

2)data.d引用没有。

3)enter code here是jibberish,删除它。

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

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

+0

1)我的代码返回字符串..所以json是正确的...我也使用它早些时候... 2)数据.d将返回'问题:谁是史努比?' 3)'输入代码在这里'是为了让用户了解它的不受我的...当我发布这个问题时,它自动写入 – 2013-04-26 06:45:47

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); 
} 
}); 

你可以看到这篇日志在控制台选项卡铬devtools。 此外,您可以监控您的请求/响应为Chrome浏览器网络选项卡devtools

检查它的详细信息,关于Chrome devtools从成功函数的console.log(数据)Chrome Dev Tools: Networking and the Console

+0

但成功不适用于我的情况..... – 2013-04-26 08:54:58

+0

@ user2322540您的ajax请求可以电话获得调查? – 2013-04-26 10:29:43

+0

没有....你可以通过在你的页面上复制它来测试它..... – 2013-04-26 11:26:38