Ajax Call WebPage method not working

I do

<script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script> <script type="text/javascript"> function CallPageMethod(methodName, onSuccess, onFail) { var args = ''; var l = arguments.length; if (l > 3) { for (var i = 3; i < l - 1; i += 2) { if (args.length != 0) args += ','; args += '"' + arguments[i] + '":"' + arguments[i + 1] + '"'; } } var loc = window.location.href; loc = (loc.substr(loc.length - 1, 1) == "/") ? loc + "Report.aspx" : loc; $.ajax({ type: "POST", url: loc + "/" + methodName, data: "{" + args + "}", contentType: "application/json; charset=utf-8", dataType: "json", success: onSuccess, fail: onFail }); } function success(response) { alert(response.d); } function fail(response) { alert("&#1054;&#1096;&#1080;&#1073;&#1082;&#1072;."); } function select() { ........... CallPageMethod("SelectBook", success, fail, ...........); } </script> 

And my script manager

 <asp:ScriptManager ID="ScriptManager1" EnableScriptGlobalization="true" EnableScriptLocalization="true" EnablePageMethods="true" EnablePartialRendering="true" runat="server" /> 

But when I execute the select function, I got nothing ... no messages at all.

Error Log:

  [ArgumentException]: Unknown web method SelectBook. Parameter name: methodName at System.Web.Script.Services.WebServiceData.GetMethodData(String methodName) at System.Web.Handlers.ScriptModule.OnPostAcquireRequestState(Object sender, EventArgs eventArgs) at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 

And my web method:

 <WebMethod()> Public Function SelectBook(ByVal values As String, ByVal valuesG As String, ByVal valuesX As String, ByVal valuesXG As String) As String '.... Return If(((vals.Length = valsG.Length) And (valsX.Length = valsXG.Length)), SQLModule.UpdateAdvCode(vals, valsG, valsX, valsXG), "   ") End Function 

If I just warn (CallPageMethod ("SelectBook", success, fail, ...........)) I see "undefined", but what is undefined ??? I tried to debug this javascript but could not fix it. It worked, and I understand how it should work, but I just have no idea why it is broken now and how to fix it. Help me out with this.

Additional Information

  Server ASP.NET Development Server/10.0.0.0 Date Thu, 03 Feb 2011 11:30:51 GMT X-AspNet-Version 4.0.30319 Cache-Control private Content-Type text/html; charset=utf-8 Content-Length 3517 Connection Close 

why close?

+6
javascript jquery
source share
3 answers

The problem is resolved ....

 <WebMethod()> Public SHARED Function SelectBook(ByVal values As String, ByVal valuesG As String, ByVal valuesX As String, ByVal valuesXG As String) As String '.... Return If(((vals.Length = valsG.Length) And (valsX.Length = valsXG.Length)), SQLModule.UpdateAdvCode(vals, valsG, valsX, valsXG), "   ") End Function 

I spend 2 days to see what it should be Shared> _ <

+4
source share

You checked the configuration file, the registered module

 <httpModules> <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </httpModules> 
+3
source share

I have the same problem with $ .ajax, dunno why, but so on. Now I use $ .get () or $ .getJSON () for my XMLHTTPRequests. seems even faster than with the $ .ajax () function.

0
source share

All Articles