2011-11-28 83 views
0

我得到了带有cs类的asmx处理程序文件。500尝试从jquery使用webmethod时发生内部服务器错误

当我输入mysite/myService.asmx?op =测试好的页面呈现,我可以调用我的web方法没有任何问题,但是当我尝试从javascript做到这一点,我可以看到在firebug 500错误作为一个响应。我在web.method中的服务器端放置了断点,但它甚至没有被调用。

我做错了什么?

类声明:

[System.Web.Script.Services.ScriptService]

公共部分类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

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

+0

嘿。如果这是一个“方法不允许”的例外,我想这应该是一个405错误。 – devlord

相关问题