如何解决ajax跨域的问题

2016-02-19 18:27 5 1 收藏

今天图老师小编给大家介绍下如何解决ajax跨域的问题,平时喜欢如何解决ajax跨域的问题的朋友赶紧收藏起来吧!记得点赞哦~

【 tulaoshi.com - Web开发 】

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

    1.跨浏览器问题
    2.历史后退状态问题

    3.跨域问题

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

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

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

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

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

    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=""
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(标准化越来越近了) ="asdf";';

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

来源:http://www.tulaoshi.com/n/20160219/1617743.html

延伸阅读
标签: Web开发
这几天脑细胞剩下的不多了,不过问题都一个个解决了。 我希望搜索引擎能够搜索到这篇文章,给正在需要解决此类问题的朋友分享我的解决方案。 例如 a.com站点通过ajax访问聚合b.com站点内的RSS(xml)资源,这是跨域访问不能实现,网上我也查阅了大量的资料,没有找到有效的办法,有些变通的方法都必须具有b.com站点的...
标签: Web开发
这几天脑细胞剩下的不多了,不过问题都一个个解决了。 我希望搜索引擎能够搜索到这篇文章,给正在需要解决此类问题的朋友分享我的解决方案。 例如 a.com站点通过ajax访问聚合b.com站点内的RSS(xml)资源,这是跨域访问不能实现,网上我也查阅了大量的资料,没有找到有效的办法,有些变通的方法都必须具有b.com站点的权限对b.com站点进行设置...
标签: Web开发
代码如下: /**//* 异步请求类 作者:吾非无心 创建时间:2009.2 --------------------------------------------------------------------------------------------------------------------------------- 修改记录: 2009.4.27——添加 URL 检测功能,如果是“http://xxxx.xxx.xx.xx/..”这样的格式,使用系统提供的“/getUrl.aspx...
标签: Web开发
Cookie跨域操作看来是个简单的问题,因为只要指定Domain属性为指定网站的根域名就可以了. 但是笔者在实际使用过程中却遇到了一些问题,的确值得注意. 环境介绍 cookie在www主域名下创建,并写入Domain属性,如:(为方便调试以下代码皆为asp代码) Code: Write.asp % Response.Cookies(CookieName)("UserNa...
想必很多人都有过落枕的经历,大多数人应该都知道落枕是很痛苦的。早上起床后感觉莫名其妙的脖子疼痛,让人抓狂。那么该如何治疗落枕最有效呢?我们要懂得一些生活方法,如果不幸落枕,能抓紧时间自己治疗,下面就一起来看看落枕的治疗方法有哪些吧。 一般落枕经1~2次治疗即可治愈 有的患者是在颈部长期病变的基础上产生...

经验教程

712

收藏

87
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部