【转】jQuery.getScript跨域加载远程PHP文件

jQuery.getScript跨域加载远程PHP文件,实现远程信息共享

最近有一个跨域加载远程PHP文件需求,需要将跨域远程的用户信息加载到本地使用,研究和参考相关资料,非常简单,其它后缀类似文件(asp,js)一样。

解决方案如下:

需要两个文件:提供信息的PHP文件(访问的远程文件),加载远程文件的JS文件(获取或处理远程信息)

——————————————————————

infoBox.php(提供远程信息,与JS文件不在同一域)

<?php

$InfoBox = array(‘url’=>’biuuu.com’,'title’=>’必优博客’);
echo ‘var data=’ . json_encode($InfoBox) . ‘;’;

?>

将数据组装数组,通过PHP内置函数json_encode将数组转化成json数组,方便数组内容被远程调用。

——————————————————————

box.js(调用远程PHP文件JS类)

var box = {};
var remoteUrl = ‘http://www.biuuu.com/infoBox.php’;//远程调用URL

box.showBoxInfo = function() {
jQuery.getScript(remoteUrl, function(){
var boxInfoWrapper = jQuery(‘#boxInfoWrapper‘);
var html = box.getBoxHtml(data.url,data.title);
boxInfoWrapper.html(html);
});
}

box.getBoxHtml = function(url,title){
return ‘<div><a href=”‘+url+’”>’+title+’</a></div>’;
}

remoteUrl就是前面infoBox.php的远程路径,通过getScript直接调用。其中boxInfoWrapper就是要显示信息DIV的ID。

——————————————————————

test.html(测试HTML文件,包含JQuery与前面的box.js类)

<script src=”jquery-1.2.6.js” type=”text/javascript”></script>
<script src=”box.js” type=”text/javascript”></script>
<script type=”text/javascript”>
$(document).ready(function (){
box.showBoxInfo();
});
</script>

<div id=”boxInfoWrapper“></div>

jQuery.getScript跨域加载远程PHP文件实现过程非常简单,扩展性非常性,可以实现非常强大的功能,其它应用可以更深入的实践,供参考。

来源:http://www.biuuu.com/?p=34

此条目发表在 Ajax 分类目录,贴了 , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>