js调用web service兼谈无刷新

以前用过xmlhttp调用一个无格式的aspx或asp文件,可以实现无刷新,充分利用前台脚本的优势来实现一些特殊应用,今天清晨试了一下还是用xmlhttp来调用web service,查了msdn,效果还是不错(有的同志已经我的成果收藏了,刚刚搜blog时,呵呵),但一直都有安全问题提示,如果谁有解决这个问题,告知我一下!
加入<%%>避免blog显示为html格式了 <%<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication2.WebForm1" %>
<script language=javascript> getWebServiceResultsAfterInit(); //setTimeout(getWebServiceResultsAfterInit,1000); //网友提示这个不行,呵呵,改用setInterval了 setInterval(getWebServiceResultsAfterInit,1000); function myfunc() { // var divFeatures = document.getElementById("divWebServiceResults"); //divFeatures.innerHTML = "111"; } var objXmlDoc; var objHttp; var bHttp = false; function getWebServiceResultsAfterInit() { //以下这些判断是msdn的,比我想得全,呵呵,不过,如果不是IE,估计呵呵 if(!bHttp) { var aszHttpProgIDs = [ "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP" ]; for (var i = 0; !bHttp && i < aszHttpProgIDs.length; i++) { try { objHttp = new ActiveXObject(aszHttpProgIDs[i]); bHttp = true; } catch (objException) { // error handling elided for clarity //alert('e'); } } } // If we failed to create both objects, then throw an exception and return //alert(3); if (!bHttp) { throw "MSXML not found on your computer."; return; } // Get the parameter //var oParameter = ;//document.getElementById("divWebServiceResults"); // var szParameter = "111";//oParameter.value; // Create the SOAP Envelope //这个soap的头,需要根据你的web service来填写,如是不是要传入参数等,我的web service就是测试,显示一下时间,所以没有传入数据 strEnvelope = " " + " " + //" " + // " " + szParameter + "" + // // " " + " " + " " // Set up the post //alert(strEnvelope); //objHttp.onreadystatechange = getWebServiceResultsAfterLoad(); objHttp.open("post", "http://192.168.0.1/WebService1/Service1.asmx/HelloWorld",false); objHttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8"); objHttp.setRequestHeader("SOAPAction", "http://192.168.0.1/WebService1/Service1.asmx/HelloWorld"); objHttp.send(strEnvelope); //以下为取得返回结果,如果是xml,还得考虑一下 var szResponse = objHttp.responseText; //alert(szResponse); divWebServiceResults.innerHTML = szResponse; } //这个无意义 function getWebServiceResultsAfterLoad() { if (objHttp.readyState == 4) { // Get the return envelope var szResponse = objHttp.responseText; // alert(szResponse); divWebServiceResults.innerHTML = szResponse; } } </script> %> 显示结果为无刷新显示当前的服务器时间
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值