我正在尽我所能,但无法弄清楚为什么我没有得到这么简单的网络服务的成功回应;你能看看吗告诉我,我错过了什么,请问?
每次只调用错误函数,Fiddler说我有HTTP响应500.
谢谢!
附加说明: 我检查了Fiddler,它说: 找不到以下网址:/JQuery-Recepie/Chapter16-Ajax/MyWebService.asmx。但为什么?!?
我的WebService类:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class MyWebService : System.Web.Services.WebService {
public MyWebService () {
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public string HelloWorld() {
return "Hello World";
}
}
我的JavaScript绑定到按钮的click事件,该事件调用webservice:
function jqHelloCall(){
$.ajax({ type: "POST",
contentType: "application/json; charset=utf-8",
url: "MyWebService.asmx/HelloWorld",
data: "{}",
dataType: "json",
success: function(msg){
alert(msg==null);
alert(msg.d);
},
error: function(){
alert('error');
}
}); }
答案 0 :(得分:0)
使用Firefox中的Firebug查看IIS发送的响应。在Net选项卡上的Firebug中,您只能过滤Ajax请求(XHR)。当然,您会在IIS将发回的响应主体中找到有关服务器异常的所有详细信息。
答案 1 :(得分:0)
pencilCake:我检查了Fiddler,它说:在/JQuery-Recepie/Chapter16-Ajax/MyWebService.asmx找不到网络服务。但是为什么?!?
因为网络方法应该是STATIC
[WebMethod]
public static string HelloWorld() {
return "Hello World";
}
答案 2 :(得分:0)
将scriptMethod属性添加到服务方法...
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string HelloWorld() {
return "Hello World";
}