尝试从jquery使用webmethod时出现500内部服务器错误

时间:2011-11-28 21:49:19

标签: jquery asp.net .net

我已经使用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");
                    }
                });

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

在浏览器中输入URL时,您正在执行GET请求。但是,您的$.ajax请求正在使用POST。鉴于缺乏其他许多背景,这将是我第一个怀疑问题所在。尝试将type: "POST"更改为type: "GET"