使用ajax调用webservice

前端之家收集整理的这篇文章主要介绍了使用ajax调用webservice前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

使用ajax调用webservice时,尽量使用ie浏览器,如果使用chrome或者是firefox浏览器,很可能会出现异常

服务器端代码的书写(可以参考使用jdk调用webservice中的代码,两者是基本相同的)

  1. <html>
  2. <head>
  3. <title>通过ajax调用WebService服务</title>
  4. <script>
  5. function getXhr(){
  6. var xhr = null;
  7. if(window.XMLHttpRequest){
  8. //非ie浏览器
  9. xhr = new XMLHttpRequest();
  10. }else{
  11. //ie浏览器
  12. xhr = new ActiveXObject('Microsoft.XMLHttp');
  13. }
  14. return xhr;
  15. }
  16. var xhr =getXhr();
  17. function sendMsg(){
  18. var name = document.getElementById('name').value;
  19. //服务的地址
  20. var wsUrl = 'http://127.0.0.1:6790/hello';
  21. //请求体
  22. var soap= '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://webservice.njupt.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'
  23. +'<soapenv:Body><q0:sayHello><arg0>'+name+'</arg0> </q0:sayHello></soapenv:Body></soapenv:Envelope>';
  24. //打开连接
  25. xhr.open('POST',wsUrl,true);
  26. //重新设置请求头
  27. xhr.setRequestHeader("Content-Type","text/xml;charset=UTF-8");
  28. //设置回调函数
  29. xhr.onreadystatechange = _back;
  30. //发送请求
  31. xhr.send(soap);
  32. }
  33. function _back(){
  34. if(xhr.readyState == 4){
  35. if(xhr.status == 200){
  36. //alert('调用Webservice成功了');
  37. var ret = xhr.responseXML;
  38. var msg = ret.getElementsByTagName('return')[0];
  39. document.getElementById('showInfo').innerHTML = msg.text;
  40. //alert(msg.text);
  41. }
  42. }
  43. }
  44. </script>
  45. </head>
  46. <body>
  47. <input type="button" value="发送SOAP请求" onclick="sendMsg();">
  48. <input type="text" id="name">
  49. <div id="showInfo">
  50. </div>
  51. </body>
  52. </html>
原文链接:https://www.f2er.com/ajax/165744.html

猜你在找的Ajax相关文章