天天看点

JQuery 中的Ajax调用WebServices 的总结

使用JQuery中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){                    
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 web服务类

C# code

[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;

    }

}      

说明:

ArrayList 中 存为对象CollegeDepartInfo

其属性为:stirng CollegeDepartTitle 和 int CollegeDepartId

在javascript中

ddlDepart.options[ddlDepart.length]=new Option(n.CollegeDepartTitle,n.CollegeDepartId);

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

最后重要的是: