JavaScript调用WebService的实现方法

发布时间:2020-03-06编辑:脚本学堂
本文介绍下javascript实现调用webservice的方法,主要包括两个重要的地方,有需要的朋友,可以参考下。

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>

注:以上代码仅供参考,可能不适于用在实际的生产环境中。