AJAX跨域问题的解决办法_Ajax编程_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

AJAX跨域问题的解决办法

作者:黑客防线网安Ajax教程基地 来源:黑客防线网安Ajax教程基地 浏览次数:0

本篇关键词:办法解决问题这个
黑客防线网安网讯:  最近公司内部的architecture组正在热烈讨论AJAX,最后难免会谈到如何跨域这个问题,因为从AJAX诞生那天起,XMLHttprequest对象在firefox下不能跨域请求的问题就一直存在,等待浏览器们去...

  最近公司内部的architecture组正在热烈讨论AJAX最后难免会谈到如何跨域这个问题因为从AJAX诞生那天起,XMLHttprequest对象在firefox下不能跨域请求的问题就一直存在,等待浏览器们去解决这个问题显然不太现实,聪明的Web开发人员们早就想了一系列的方法来解决这个问题,下面列举两个比较不错的方法:

 

  1. 使用中间层过渡的方式:

 

  中间过渡,很明显,就是在AJAX与不同域的服务器进行通讯的中间加一层过渡,这一层过渡可以是PHP、JSP、c++等任何具备网络通讯功能的语言,由中间层向不同域的服务器进行读取数据的操作PHP做一个例子,如果需要对不同域的某一个php进行通讯,现在客户端的xmlhttprequest先query本域的一个PHP,然后由本域的这个PHP去和不同域的PHP进行通讯,然后由本域的PHP输出response;

 

  2. 使用<script>标签

 

  这个方法是利用<script>标签中的src来query一个PHP获得response,因为<script>标签的src属性不存在跨域的问题

 

  举个例子来让大家看得更清楚一点吧:

 

<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(param);

}

}

function query()

{

get(get.php);

}

//-->

</script>

<BODY>

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

</BODY>

</HTML>

 

  其中get.php的代码是:

 

<?php

echo "var param = 'www.*******.cn'";

?>

 

  最后的运行结果是,当你点击那个button,它会出现一个内容为”www.*******.cn”的对话框。

 

  这个方法又叫做ajaj或者ajax without xmlHttprequest,把x换成了j,是因为使用了<script>标签而没有用到xml和xmlHttprequest的缘故。

 

  怎么样,很简单吧,我看到过很多人不愿意去正视ajax所存在的技术瓶颈,其实AJAX更应该是Ajax而不是AJAX,突出第一个A是想强调其实AJAX发扬的是一种异步传输的方法,而不是具体到底使用了哪种技术。

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-15621-1.html
网站维护教程更新时间:2023-02-16 13:46:46  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer