zoukankan      html  css  js  c++  java
  • Ajax跨域访问

    1  function GetExamDynamicInfo() {
    2                 var url = "http://localhost:9966/exam.cbi360.com/ExamDynamic.ashx?op=Exam&spid=" + sid + "&top=5&t=" + new Date().getTime();
    3                 _examrequest.open("Get", url, true);
    4                 _examrequest.onreadystatechange = ShowExam;
    5                 _examrequest.send(null);
    6         }
    7  

      通过使用ajax可以使用异步操作,做到页面局部无刷新的效果。在本地两个项目之间如果说是需要在A项目中通过ajax访问B项目,url传入的是B项目中的要访问的地址,那么在IE中的左下角会有错误警告,提示没有权限访问。如果是在谷歌中则无提示,但获取不到。怎么回事呢?原来js是无法进行跨域访问的,既然用js无法访问,那就用web代理的方式访问吧。

     1   function GetExamDynamicInfo() {
     2                 var url = 
     3  send_screquest("Text?url=" + encodeURIComponent("http://localhost:9966/exam.cbi360.com/Handler/ExamDynamic.ashx?op=getExam&spid=" + sid + "&top=5&t=" + new Date().getTime();
     4 );    
     5 //将此url改为当前项目中的代理页面:Text.aspx
     6                 _examrequest.open("Get", url, true);
     7 
     8                 _examrequest.onreadystatechange = ShowExam;
     9                 _examrequest.send(null);
    10         }

      通过Text.aspx获取即可,只在.cs页面中写入以下代码即可,可以将页面的信息删掉,留下最上边的一行<%...%>即可

    1  string url = HttpUtility.UrlDecode(Request.QueryString["url"]);
    2         WebClient myWebClient = new WebClient();
    3         byte[] myDataBuffer = myWebClient.DownloadData(url);
    4         string data = Encoding.UTF8.GetString(myDataBuffer);
    5         Response.Write(data);
    6         //Response.End(); 
  • 相关阅读:
    操作系统的发展史
    多线程的些许理解(平台x86,具体考虑linux,windows)
    C++ 11 智能指针
    C++虚函数和纯虚函数
    Qt之excel 操作使用说明
    查找之二叉排序树
    图的一些总结
    树的一些总结
    直接插入排序
    冒泡和选择排序
  • 原文地址:https://www.cnblogs.com/lollipop/p/2627375.html
Copyright © 2011-2022 走看看