您的位置:首页 > Web前端 > JQuery

JQuery 中的Ajax调用WebServices 的总结

2009-02-20 16:01 489 查看
使用JQuery中javascript:;" onClick="javascript:tagshow(event, 'ajax');" target="_self">ajax方法访问web服务。

1.ajax方法需要填写:

JScript. code
$.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){
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 web服务类

C# code
[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))]
publicArrayList  GetCollegeDepart(stringstrDepartId)
{
CollegeDepartBL.FlushCollegeDepartCache();

if(string.IsNullOrEmpty(strDepartId))
returnnull;

ArrayList myList=CollegeDepartBL.GetCollegeDepartListByCollegeID(int.Parse(strDepartId));
returnmyList;

}

}


说明:
ArrayList 中 存为对象CollegeDepartInfo
其属性为:stirng CollegeDepartTitle 和 int CollegeDepartId
在javascript中
ddlDepart.options[ddlDepart.length]=new Option(n.CollegeDepartTitle,n.CollegeDepartId);

Option的参数就是依据他们的。

最后重要的是:
类上方添加的
[ScriptService]
必须添加,否则ajax无法调用WebService
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: