本文实例讲述了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程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#cainiaojc.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。