JQuery中ajax方法访问web服务实例
本文实例讲述了JQuery中ajax方法访问web服务。分享给大家供大家参考。具体分析如下:
说明:ArrayList中存为对象CollegeDepartInfo其属性为:stirngCollegeDepartTitle和intCollegeDepartId在javascript中ddlDepart.options[ddlDepart.length]=newOption(n.CollegeDepartTitle,n.CollegeDepartId);Option的参数就是依据他们的。最后重要的是:类上方添加的[ScriptService]必须添加,否则ajax无法调用WebService
jquery代码部分:
$.ajax({
type:"POST",
//注明返回Json
contentType:"application/json;utf-8",
//CollegeDepartWebServices.asmxweb服务名/GetCollegeDepart方法名
url:"CollegeDepartWebServices.asmx/GetCollegeDepart",
//strDepartId参数名称collegeId参数值
data:"{strDepartId:"+collegeId+"}",
dataType:"json",
success:function(result){
varjson=null
try
{
if(result)
{
//因为返回的是ArrayList所以循环取出其中的值
$.each(result,function(i,n){
//ddlDepart为下来菜单。循环的向下拉菜单中添加新的选项
ddlDepart.options[ddlDepart.length]=newOption(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]
publicclassCollegeDepartWebServices:System.Web.Services.WebService
{
publicCollegeDepartWebServices()
{
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
[WebMethod]
[System.Xml.Serialization.XmlInclude(typeof(CollegeDepartInfo))]
publicArrayListGetCollegeDepart(stringstrDepartId)
{
CollegeDepartBL.FlushCollegeDepartCache();
if(string.IsNullOrEmpty(strDepartId))
returnnull;
ArrayListmyList=CollegeDepartBL.GetCollegeDepartListByCollegeID(int.Parse(strDepartId));
returnmyList;
}
}
希望本文所述对大家的jquery程序设计有所帮助。