当前位置:编程学习 > C#/ASP.NET >>

JS怎么样设置XMLHTTP实现跨域访问?

<!-- main.asp页面--!>

<style type="text/css">
<!--
.STYLE1 {font-size: 12px}
-->
</style>

<body>

<form id="form1" name="form1" method="post" action="../123.asp">
<table width="1000" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="30" align="center"><span class="STYLE1">用户验证url地址页面</span></td>
  </tr>
</table>
<table width="1000" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="100" align="center"><span class="STYLE1">用户名</span></td>
    <td align="center"> </td>
    <td width="100" align="center"><a href="exitmain.asp" class="STYLE1">退出系统</a></td>
  </tr>
</table>
<table width="1000" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
   <td width="100" align="center"><span class="STYLE1"></span>   </td>
    <td align="center"> </td>
    <td width="100" align="center"><a href="userinsert.asp" class="STYLE1">进入后台</a></td>
  </tr>
</table>
<table width="1000" height="700" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="50" align="center" valign="top"><table width="800" height="30" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td align="center"><span class="STYLE1">您的url地址:</span>
          <label>
          <INPUT id="oShuru" name="oShuru" value="http://www.baidu.com"  style="width:600px">
        </label></td>
      </tr>
    </table>
      <table width="800" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td align="center"><input id="ologin" name="ologin" onClick="getXML()" type="button" value="验证网站是否存在"></td>
        </tr>
      </table>
      <table width="800" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td align="center"><div id="oDiv"></div>
</td>
        </tr>
      </table>
      <table width="800" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td align="center"> <div id="oADD"></div><input id="text_oADD" name="text_oADD" type="text"  readonly="ture" value="" size="40" />
<input name="text_yesorno" type="password" id="text_yesorno" value="" size="15" readonly="ture" />
</td>
        </tr>
      </table>
      <table width="800" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td align="center"><label>
            <input type="submit" name="Submit" value="保存在数据库" />
          </label></td>
        </tr>
      </table></td>
  </tr>
</table>


</form>
<script language="javascript">
var oDiv=document.getElementById("oDiv");
var xh
function getXML()
{
var getXML=document.getElementById("ologin").onclick
oDiv.innerHTML="正在验证网站,清稍后......";
oDiv.style.display="";
xh=new ActiveXObject("Microsoft.XMLHTTP");
xh.onreadystatechange=getReady;
xh.open("GET",document.getElementById("oShuru").value,true);
xh.send();
}
function getReady()
{
       if(xh.readyState==4)
   {
         if(xh.status==200){document.getElementById("oDiv").innerHTML="连接成功";

 alert("连接成功!");
                            }
        else { document.getElementById("oDiv").innerHTML="连接失败,因为:"+ xh.statusText;}
//       document.getElementById("oADD").innerHTML="您的url地址:   "+document.getElementById("oShuru").value + "   ×无效"
    }
else if(xh.readyState==0){document.getElementById("oDiv").innerHTML="正在连接0";}
else if(xh.readyState==1){document.getElementById("oDiv").innerHTML="正在连接1";}
else if(xh.readyState==2){document.getElementById("oDiv").innerHTML="正在连接2";}
else if(xh.readyState==3){document.getElementById("oDiv").innerHTML="正在连接3";}
oText()
}
function oText()
{
var oText=xh.responseText;

var aa=xh.responseText;
var bb="114search";
var ss = aa.indexOf(bb);
sss=ss+1
if(ss < 0){
//alert('没有字符串"'+bb+'"');
alert('网页存在!');
   document.getElementById("oADD").innerHTML="您的url地址:"
   document.getElementById("text_oADD").value=document.getElementById("oShuru").value
   document.getElementById("text_yesorno").value="√有效"
           }
           else{
//alert('"'+bb+'"在本句中首次出现的字符位置为第"'+sss+'"位');
alert('网页不存在!');
   document.getElementById("oADD").innerHTML="您的url地址:"
   document.getElementById("text_oADD").value=document.getElementById("oShuru").value
   document.getElementById("text_yesorno").value="×无效"
           }
}
String.prototype.isUrl = function()
{
         return /^http[s]?:\/\/([\w-]+\.)+[\w-]+([\w-./?%&=]*)?$/i.test(this);
}
document.getElementById("oShuru").onchange=function(){
    var str=this.value;
   if(str.isUrl()){alert("url地址可用!")}
   else{alert("url地址无效!请重新输入!");}
  // alert(str.isUrl());
}



//本地测试通过.本地服务器失败.失败原因.没有权限. XMLHTTP不支持跨域访问.请求大大们帮忙改一个用代理实现功能的代码.在线等
</script>

--------------------编程问答-------------------- 用ajax服务器端做代理 --------------------编程问答-------------------- 也就是在你的服务器上跨域访问,在你的客户段还从自己的域中请求 --------------------编程问答-------------------- 请问能不能说的详细点???
Ajax无刷新提交可以? --------------------编程问答-------------------- 大哥们,说详细点可以不啊,我也在等这个问题。 --------------------编程问答-------------------- 近身剪 --------------------编程问答-------------------- 基于IE等浏览器的安全限制,js+xmlhttp无法跨域(除非更改IE安全级别)

你可以通过js+XMLHTTP访问本域下的一个aspx程序,由此aspx再跨域访问返回数据
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,