zoukankan      html  css  js  c++  java
  • Ajax 中跨域问题的结决办法 [转]

    ajax伴随的goole 的推动,越来越多的站点开始使用了,在开大ajax程序的时候会遇到很多的问题,主要有以下几个方面:
    • 跨浏览器问题
    • 历史后退状态问题
    • 跨域问题
    跨浏览器的问题因为现在有很多的开元的框架已经解决了,我们无需为此而烦恼。
    历史后退状态问题我们可以使用一个数组来保存历史纪录,然后把这些数据村到历史对象中去,中的也可以解决,并且还有很多的开元框架给与支持,这样问题就不是很大。
    跨域的问题就不是很好的解决,但是还是有办法的,一下给出一些基本的解决方案供大家选择:
    1. 使用代理,你可以使用web端的程序编写代理程序,把所有的ajax请求的数据进行转发,web程序可以使php,jsp,asp等所有的编程语言。相信大家对这种方式一定很熟悉,这里就不详细的介绍了。
    2. 使用iframe的方式来定势的刷新叶面,这种方式只是取得数据来显示,并不能真正的和求得的数据进行交互,转化成本页面的动态数据,不是很可取,应用也不是很多,我也忽略不去讨论了。
    3. 使用apache的代理功能,主要就是apache的方向代理,或者是url从定向,你也可以把其他的站点直接的挂在自己的网站上,这样的方式可能会友邦权的问题,多的九部介绍了,有兴趣的本有可以自己实践以下。
    4. 使用《script》标签的方式,这样的话就可以保正使用真正的ajax来跨域,并且可以使用返回来的数据,发誓很简单,在我们的后台程序处理后的到的结果都直接的用javascript 的方式返回,在我们的html中直接的使用返回数据的变量就可以了一个简单的例子
    我们使用的html叶面
     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
     2  <HTML>
     3   <HEAD>
     4    <TITLE> New Document </TITLE>
     5    <META NAME="Generator" CONTENT="EditPlus">
     6    <META NAME="Author" CONTENT="">
     7    <META NAME="Keywords" CONTENT="">
     8    <META NAME="Description" CONTENT="">
     9   </HEAD>
    10 <SCRIPT LANGUAGE="JavaScript" src="" id="get">
    11 </SCRIPT>
    12 <SCRIPT LANGUAGE="JavaScript">
    13 <!--
    14 function get(url)
    15     {
    16         var obj = document.getElementById("get");
    17         obj.src = url;
    18         (obj.readStatus == 200)
    19         {
    20             alert(xml);
    21         }
    22     }
    23     function text()
    24     {
    25 get (get.php);
    26     }
    27 //-->
    28 </SCRIPT>
    29  <BODY>
    30   <INPUT TYPE="button" value="CLICK ME" onclick="test()">
    31  </BODY>
    32 </HTML>

    后台程序get.php
    eche 'var xml ="asdf";';
    当你点击按钮的时候就会去服务器那去你需要的js,但加在完成后就可以自己的使用变量xml了,运行代码后你会得到一个对话框显示asdf;
  • 相关阅读:
    sql 算法 : Nested Loop,Hash Join,Merge Join介绍
    Win10 上 安装Arduino 驱动 和 Arduino IDE 1.6.9
    Learning Python 012 函数式编程 2 返回函数 匿名函数 装饰器 偏函数
    Learning Python 012 函数式编程 1 高阶函数
    Learning Python 011 高级特性 2
    Learning Python 011 高级特性 1
    Learning Python 010 函数 2
    Learning Python 010 函数 1
    Learning Python 009 dict(字典)和 set
    Could not get lock /var/lib/dpkg/lock
  • 原文地址:https://www.cnblogs.com/meil/p/755564.html
Copyright © 2011-2022 走看看