使用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)] ....
另一种方法:您可以在配置文件中添加它
... ...
您应该在Web .config文件中的标记之前添加以下代码。