使用$ .ajax调用服务器端function

最后,我想通过点击按钮向服务器发送一个值并查询我的数据库。 现在,我在使用jquery.ajax调用服务器端的函数时遇到了麻烦。 这是我的代码:

      if (jQuery) { alert("jQuery loaded"); } function send() { $.ajax( { type: "get", url: "ajax.aspx/Test", data: { name: 'ok' }, success: function (result) { alert("successful!"); } }) }    [WebMethod] [System.Web.Script.Services.ScriptMethod] public static string Test(string sendData) { return String.Format("Hello {0}", sendData); } 

http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/这个链接可能很有用

编辑:您的ajax调用必须如下所示:

  $.ajax( { type: "POST", contentType: "application/json; charset=utf-8", url: "ajax.aspx/Test", data: "{ sendData: 'ok' }", success: function (result) { alert("successful!"); } }) 

有几件事情不太正确:

  • 您应该将数据放在引号内
  • 并且该成员的名称应与Web方法的参数名称匹配
  • sendData的值应该是双引号
  • 你应该添加contentType和dataType

完整示例:

 function send() { $.ajax({ type: "POST", url: "ajax.aspx/Test", data: '{ sendData: "ok" }', contentType: "application/json; charset=utf-8", dataType: "json", success: function (result) { alert("successful!" + result.d); } }); } 

这段代码适合我。