【发布时间】:2013-08-23 17:18:55
【问题描述】:
我有两个网站:
www.siteone.com
www.sitetwo.com
现在我必须通过脚本从www.sitetwo.com 获取数据,从而在www.siteone.com 中显示数据
由于我必须获取特定数据,因此我将变量从www.siteone.com 传递给www.sitetwo.com,如下所示:
//script in www.siteone.com
<script type="text/javascript">
$(document).ready(function(){
window.$vars = {
id:"form"
};
</script>
在www.sitetwo.com,我有以下脚本:
//script in www.sitetwo.com
<script type="text/javascript">
var k = window.$vars.id;
$("#form").dform("http://www.sitetwo.com/"+k+'.json', function(data) {
this
data
});
</script>
在这里,我从站点一传递到站点二的值“id”被脚本正确接收。但由于跨域,我无法打开 form.json 文件。抛出以下错误:
XMLHttpRequest cannot load http://www.sitetwo.com/form.json. Origin http://www.siteone.com is not allowed by Access-Control-Allow-Origin.
如何从www.siteone.com访问form.json
【问题讨论】:
-
jsonp 就是答案。您需要找到一种将 jsonp 与
dformajax 调用一起使用的方法。 -
dform 是该页面中加载的另一个脚本的函数。在这些情况下,我们如何有效地使用 jsonp??
-
我没有使用过那个 dform 脚本。使用 jquery ajax,您可以通过将 dataType 设置为 jsonp 轻松使用 jsonp。
标签: javascript jquery cross-browser cross-domain jsonp