我已经使用cs类获得了asmx处理程序文件。
当我输入mysite / myService.asmx?op =测试好的页面呈现并且我可以调用我的web方法没有任何问题但是当我尝试从javascript中执行它时我可以在firebug 500中看到错误作为响应。我把断点放在web.method内部的服务器端,但它甚至没有被调用。
我做错了什么?
班级宣言:
[System.Web.Script.Services.ScriptService]
public partial class WebServiceDB:System.Web.Services.WebService {
Web.Method:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string Test()
{
return "test";
}
JS:
$.ajax({
url: "mysite/myService.asmx?op=Test",
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (msg) {
alert("ok");
},
error: function (e) {
alert("error");
}
});
感谢您的帮助
答案 0 :(得分:1)
在浏览器中输入URL时,您正在执行GET请求。但是,您的$.ajax
请求正在使用POST。鉴于缺乏其他许多背景,这将是我第一个怀疑问题所在。尝试将type: "POST"
更改为type: "GET"