当前位置: 网学 > 网页素材 > AJAX代码 > 正文

ajax跨域访问的解决方案

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: Admin 发布时间: 09/05/02

  ajax(动态网站静态化)伴随的goole 的推动,越来越多的站点开始使用了,在开大ajax(动态网站静态化)程序的时候会遇到很多的问题,主要有以下几个方面:

  1.跨浏览器问题

  2.历史后退状态问题

  3.跨域问题

  跨浏览器的问题因为现在有很多的开元的框架已经解决了,我们无需为此而烦恼。

  历史后退状态问题我们可以使用一个数组来保存历史纪录,然后把这些数据村到历史对象中去,中的也可以解决,并且还有很多的开元框架给与支持,这样问题就不是很大。

  跨域的问题就不是很好的解决,但是还是有办法的,一下给出一些基本的解决方案供大家选择:

  1.使用代理,你可以使用web端的程序编写代理程序,把所有的ajax(动态网站静态化)请求的数据进行转发,web程序可以使php(做为现在的主流 开发语言),jsp(SUN企业级应用的首选),asp等所有的编程语言。相信大家对这种方式一定很熟悉,这里就不详细的介绍了。

  2.使用iframe的方式来定势的刷新叶面,这种方式只是取得数据来显示,并不能真正的和求得的数据进行交互,转化成本页面的动态数据,不是很可取,应用也不是很多,我也忽略不去讨论了。

  3.使用apache(Unix平台最流行的WEB服务器平台)的代理功能,主要就是apache(Unix平台最流行的WEB服务器平台)的方向代理, 或者是url从定向,你也可以把其他的站点直接的挂在自己的网站上,这样的方式可能会友邦权的问题,多的九部介绍了,有兴趣的本有可以自己实践以下。

  4.使用《script》标签的方式,这样的话就可以保正使用真正的ajax(动态网站静态化)来跨域,并且可以使用返回来的数据,发誓很简单,在我们的 后台程序处理后的到的结果都直接的用javascript 的方式返回,在我们的html中直接的使用返回数据的变量就可以了一个简单的例子

  我们使用的html叶面

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

  <HTML>

  <HEAD>

  <TITLE> New Document </TITLE>

  <META NAME="Generator" CONTENT="EditPlus">

  <META NAME="Author" CONTENT="myeducs.cn">

  <META NAME="Keywords" CONTENT="">

  <META NAME="Description" CONTENT="">

  </HEAD>

  <SCRIPT LANGUAGE="JavaScript" src="" id="get">

  </SCRIPT>

  <SCRIPT LANGUAGE="JavaScript">

  <!--

  function get(url)

  {

  var obj = document.getElementById("get");

  obj.src = url;

  (obj.readStatus == 200)

  {

  alert(xml(标准化越来越近了));

  }

  }

  function text()

  {

  get (get.php(做为现在的主流开发语言));

  }

  //-->

  </SCRIPT>

  <BODY>

  <INPUT TYPE="button" value="CLICK ME" onclick="test()">

  </BODY>

  /HTML>

  后台程序

  get.php(做为现在的主流开发语言)

  eche 'var xml(标准化越来越近了) ="myeducs.cn";';

  当你点击按钮的时候就会去服务器那去你需要的js,但加在完成后就可以自己的使用变量xml(标准化越来越近了)了,运行代码后你会得到一个对话框显示myeducs.cn;

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号