1、参数传递
调用WebService的方法,都要传参数。
1)、WebService部分
文件:UserManage/UserInfo.asmx
方法:
复制代码 代码示例:
[WebMethod]
public string GetUserName(string accounts)
2)、javascript部分
复制代码 代码示例:
//WebService地址及方法名称。其中GetUserName是要调用的方法
var URL = "UserManage/UserInfo.asmx/GetUserName";
var Params = "accounts=leftfist";//传给WebService的参数
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.Open("POST",URL, false);//用POST方法
xmlhttp.SetRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.SetRequestHeader ("Content-Length",Params.length);
xmlhttp.send(Params);
if( xmlhttp.Status == 200 ){//200代表成功
var res = xmlhttp.responseXML;//得到WebService传回的结果
return res.childNodes[1].text + ",";
}
return xmlhttp.responseText;
2、配置文件(Web.config)问题
JavaScript脚本在本地上运行并无问题。但上传到服务器却显示:
Request format is unrecognized for URL unexpectedly ending in '/GetUserName'
"UserManage/UserInfo.asmx/GetUserName"这种调用WebService的写法服务器无法识别,在Web.config里加上如下代码就行了:
复制代码 代码示例:
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
注:以上代码仅供参考,可能不适于用在实际的生产环境中。