【发布时间】:2012-12-08 15:24:50
【问题描述】:
我正在使用 jsonp 并且除了某些功能外,一切都可以完美跨域运行..例如:
beforeSend:function(){
errobj.show();
errobj.html('<b>Loading...<\/b>');
},
如果我跨域(子域)使用它,它永远不会显示加载。还有一些动画和显示和隐藏的东西永远不会工作。
有人对跨域 ajax/jquery 问题有任何想法吗?
【问题讨论】:
我正在使用 jsonp 并且除了某些功能外,一切都可以完美跨域运行..例如:
beforeSend:function(){
errobj.show();
errobj.html('<b>Loading...<\/b>');
},
如果我跨域(子域)使用它,它永远不会显示加载。还有一些动画和显示和隐藏的东西永远不会工作。
有人对跨域 ajax/jquery 问题有任何想法吗?
【问题讨论】:
出于安全原因,浏览器倾向于单方面阻止对服务于当前页面的域之外的 URL 进行的任何调用。使用JSONP,可以跨域请求内容是<script>标签。也检查这些链接
Methods for Handling Cross-Domain Ajax Calls
JQuery ajax cross domain
[编辑]
对于数据类型jsonp,$(ajax) 中的beforesend() 也存在问题。跨域JSONP请求不使用XMLHTTPRequest,所以事件流程不同。beforesend() not firing in JSONP
【讨论】:
beforeSend 函数的问题。检查此链接beforeSend