JQuery中ajax方法访问web服务实例

本文实例讲述了JQuery中ajax方法访问web服务。分享给大家供大家参考。具体分析如下:

说明: ArrayList 中 存为对象CollegeDepartInfo 其属性为:stirng CollegeDepartTitle 和 int CollegeDepartId 在javascript中 ddlDepart.options[ddlDepart.length]=new Option(n.CollegeDepartTitle,n.CollegeDepartId); Option的参数就是依据他们的。 最后重要的是: 类上方添加的 [ScriptService] 必须添加,否则ajax无法调用WebService

jquery代码部分:

$.ajax({
type: "POST",
//注明 返回Json
contentType:"application/json;utf-8",
//CollegeDepartWebServices.asmx web服务名 /GetCollegeDepart 方法名
url:"CollegeDepartWebServices.asmx/GetCollegeDepart",
//strDepartId 参数名称 collegeId 参数值
data:"{strDepartId:"+collegeId+"}",
dataType:"json",
success:function(result){          
  var json=null
   try
    {
    if(result)
    {
      //因为返回的是ArrayList 所以循环取出其中的值
      $.each(result, function(i, n){
      //ddlDepart 为下来菜单。循环的向下拉菜单中添加新的选项
      ddlDepart.options[ddlDepart.length]=new Option(n.CollegeDepartTitle,n.CollegeDepartId);
      });
    }
    }
    catch(e)
    {
     alert("错误>>"+e.message);
     return;
    }
   },
   error:function(data)
   {
   alert(data.status+">>> "+data.statusText);
   }
});

CollegeDepartWebServices.asmx.cs部分:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class CollegeDepartWebServices : System.Web.Services.WebService
{
  public CollegeDepartWebServices()
  {
    //如果使用设计的组件,请取消注释以下行 
    //InitializeComponent(); 
  }
  [WebMethod]
  [System.Xml.Serialization.XmlInclude(typeof(CollegeDepartInfo))]
  public ArrayList GetCollegeDepart(string strDepartId)
  {
    CollegeDepartBL.FlushCollegeDepartCache();
    if (string.IsNullOrEmpty(strDepartId))
      return null;
    ArrayList myList = CollegeDepartBL.GetCollegeDepartListByCollegeID(int.Parse(strDepartId));
    return myList;
  }
}

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

相关推荐