JQuery 中的Ajax调用WebServices 的总结
使用JQuery中javascript:;" onClick="javascript:tagshow(event, 'ajax');" target="_self">ajax方法访问web服务。
1.ajax方法需要填写:
?
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$.ajax({type:"POST",//注明 返回JsoncontentType:"application/json;utf-8",//CollegeDepartWebServices.asmx web服务名 /GetCollegeDepart 方法名url:"CollegeDepartWebServices.asmx/GetCollegeDepart",//strDepartId 参数名称 collegeId 参数值data:"{strDepartId:"+collegeId+"}",dataType:"json",success:function(result){varjson=nulltry{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服务类
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->[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
?
http://space.itpub.net/14734416/viewspace-474695