在JavaScript中调用WebService
2006-12-26 17:47
197 查看
在JavaScript中调用WebService
左直拳
试着在JavaScript中调用了一下WebService。觉得有两个地方要注意。
1、参数传递。
一般调用WebService的方法,都要传参数。怎么传?如下:
【WebService部分】
文件:UserManage/UserInfo.asmx
方法:
[WebMethod]
public string GetUserName(string accounts)
【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>
左直拳
试着在JavaScript中调用了一下WebService。觉得有两个地方要注意。
1、参数传递。
一般调用WebService的方法,都要传参数。怎么传?如下:
【WebService部分】
文件:UserManage/UserInfo.asmx
方法:
[WebMethod]
public string GetUserName(string accounts)
【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>
相关文章推荐
- javascript 调用 WebService的方法
- javascript中使用MSXML调用我自己电脑上的WEBservice
- Javascript调用webservice(不涉及ajax)
- 使用JavaScript调用WebService四篇文章及代码
- 使用javascript调用webservice示例
- javascript调用webservice
- javascript 异步调用 calling webservice 集锦
- 利用JAVAScript调用WebService
- 使用javascript调用webservice示例
- Javascript调用Webservice的多种方法
- Javascript调用Webservice的汇集
- DOTNET下的三种调用webservice方式之Javascript调用方式
- javascript 调用 WebService的方法
- [转]:Javascript+xmlhttp调用Webservice
- javascript调用.NetWebService
- javascript 调用webservice的一个例子
- .net 下用javascript调用webservice
- javascript调用webservice
- Javascript+xmlhttp调用Webservice
- 关于JavaScript调用WebService的简单示例!