使用jQueryAjax“GET”调用WebMethod

前端之家收集整理的这篇文章主要介绍了使用jQueryAjax“GET”调用WebMethod前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个ajax请求,使用“POST”工作良好,但当使用“GET”它给我以下错误
{"Message":"An attempt was made to call the method \u0027GetSomething\u0027 
using a GET      request,which is not allowed.","StackTrace":" at 
System.Web.Script.Services.RestHandler.GetRawParams(WebServiceMethodData 
methodData,HttpContext context)\r\n at 
System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context,WebServiceMethodData methodData)","ExceptionType":"System.InvalidOperationException"}

所以这里是我的代码,在客户端,

function test() {
        $.ajax({
            url: "Default4.aspx/GetSomething",type: "GET",dataType: "json",contentType: "application/json; charset=utf-8",success: function (res) { debugger; alert(res.d); },error: function (res) { debugger; alert("error"); }
        });
    }

在服务器端,

[WebMethod]
public static string GetSomething()
{
    return "got something";
}

任何原因为什么我得到错误时使用“GET”?

解决方法

如果要使用GET调用它,则需要添加
[WebMethod]
[ScriptMethod(UseHttpGet=true)]
....

猜你在找的jQuery相关文章