如何通过jQuery调用WebMethod NET2.0?

如何通过jQuery调用WebMethod NET2.0?

本文实例讲述了jQuery调用WebMethod(PageMethod) NET2.0的方法。分享给大家供大家参考,具体如下:

首先必须在WebConfig下的system.web节点加入此配置信息

<httpModules>
  <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpModules>

ScriptMethod(ResponseFormat = ResponseFormat.Json)]
[WebMethod]
/// <summary>
/// 是否允许注册
/// </summary>
/// <param name="MemberLoginID"></param>
/// <returns></returns>
public static MemberInfo AllowRegist(string MemberLoginID)
{
  return new MemberInfo();//由于设置了返回类型是JSON,所以客户端的JQ能够识别
  // MemberInfoBLL mi = new MemberInfoBLL();
  //if (!mi.ExistMember(MemberLoginID))
   //return "{d:true}";//我测试发现,客户段在接收数据的时候,会多了2个双引号,导致转换JSON格式失败..郁闷
  //else
   //return "{d:false}";
}

$.ajax({
  cache:false,
  type: 'POST',
  contentType: 'application/json; charset=utf-8',
  data: "{'MemberLoginID':'" + $("#<%=MemberLoginID.ClientID %>").val() + "'}",
  dataType: 'json',
  url: 'Reg.aspx/getDate',
  success: function(result,x,y) {
   alert(result);
  },
  beforeSend:function (xhr) {
   xhr.setRequestHeader('If-Modified-Since', '0');
   //this; // 调用本次AJAX请求时传递的options参数
  },
  error: function(e) {
   debugger; //alert("可能服务器忙没有返回数据,请重试");
  }
});

希望本文所述对大家jQuery程序设计有所帮助。