ajax 跨域问题的结局办法
来源:互联网 发布:淘宝滥用商标关键字 编辑:程序博客网 时间:2024/04/30 08:04
ajax伴随的goole 的推动,越来越多的站点开始使用了,在开大ajax程序的时候会遇到很多的问题,主要有以下几个方面:
历史后退状态问题我们可以使用一个数组来保存历史纪录,然后把这些数据村到历史对象中去,中的也可以解决,并且还有很多的开元框架给与支持,这样问题就不是很大。
跨域的问题就不是很好的解决,但是还是有办法的,一下给出一些基本的解决方案供大家选择:
<!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;
- 跨浏览器问题
- 历史后退状态问题
- 跨域问题
历史后退状态问题我们可以使用一个数组来保存历史纪录,然后把这些数据村到历史对象中去,中的也可以解决,并且还有很多的开元框架给与支持,这样问题就不是很大。
跨域的问题就不是很好的解决,但是还是有办法的,一下给出一些基本的解决方案供大家选择:
- 使用代理,你可以使用web端的程序编写代理程序,把所有的ajax请求的数据进行转发,web程序可以使php,jsp,asp等所有的编程语言。相信大家对这种方式一定很熟悉,这里就不详细的介绍了。
- 使用iframe的方式来定势的刷新叶面,这种方式只是取得数据来显示,并不能真正的和求得的数据进行交互,转化成本页面的动态数据,不是很可取,应用也不是很多,我也忽略不去讨论了。
- 使用apache的代理功能,主要就是apache的方向代理,或者是url从定向,你也可以把其他的站点直接的挂在自己的网站上,这样的方式可能会友邦权的问题,多的九部介绍了,有兴趣的本有可以自己实践以下。
- 使用《script》标签的方式,这样的话就可以保正使用真正的ajax来跨域,并且可以使用返回来的数据,发誓很简单,在我们的后台程序处理后的到的结果都直接的用javascript 的方式返回,在我们的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;
- ajax 跨域问题的结局办法
- JCenter下载太慢问题的结局办法
- VS2010 Help Library 安装后 无法打开问题的结局办法
- vc6.0工程转成vs2008出现的问题及结局办法(转)
- AJAX跨域问题解决办法
- 关于_ASSERTE(_CrtIsValidHeapPointer(pUserData)) 错误的结局办法
- linux上mysql 忘记密码的结局办法
- aJax跨域请求,Java服务端的处理办法
- brew update 失败结局办法
- ajax请求ashx跨域问题解决办法
- ajax服务跨域问题解决办法
- ajax的跨域问题
- ajax跨域的问题
- AJAX的跨域问题
- ajax跨域的问题
- MAC系统下phpstorm不能基于MAXP使用MongoDB的结局办法
- Android保存文件到本地后连接电脑无法查看 刷新不出来的结局办法
- Cocos2d-js 解决跨域问题的3种办法
- 笑话锦集
- [转]C#正则表达式小结
- 给ArcIms穿件清凉的外衣
- 车间站点完成了
- 关于DropDownList自动生成
- ajax 跨域问题的结局办法
- 3D效果表格
- chmod
- ListBox 每项前加 Icon(金山词霸索引控件)(上)
- ASP无法更新ACCESS数据库解决方法
- c#关于异步操作。
- 十六个经典面试问题回答思路
- 2007.05.21 symbian9
- AIX 系统性能检测