jquery如何解决跨域问题

qqcome110 2013-05-06 11:32:47
举个例子吧,我希望从其他网站上挖取图片到自己的页面中去,这其中涉及到跨域的问题,这个只是举了个例子,我只是想知道跨域到底要怎么写,包括jquery跨域代码部分和服务器返回数据部分,大虾们如果能贴代码的就贴代码吧,【html代码,js代码,服务器代码(php代码最好)】,本人感激不尽!
...全文
381 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lonelydreamsym 2013-05-06
  • 打赏
  • 举报
回复
基本上只能用json,如果别的系统是你可以控制的,添加指定IP的header:Access-Control-Allow-Origin:*
functionsub 2013-05-06
  • 打赏
  • 举报
回复
JSONP,这个跟JQUERY没关系,原理很简单 script是可以跨域访问的,所以原理就是 创建一个script标签,src指向要跨的地址,服务器端生成特定的可执行的JS代码。 说到底这不算是ajax技术。 JS代码:
var script = document.createElement('script');
script.src = 'http://www.domain.com/aaaa.php';
script.onload = function(){
    document.getElementsByTagName('head')[0].removeChild(this);
}
document.getElementsByTagName('head')[0].appendChild(script);
php:
echo "alert(1)";
这样就会alert一下啦。当然PHP端是随便你怎么写的,你也可以写成
echo "var data = [1,23,3,4,5]";
这样在script的onload事件里就可以直接使用data这个变量了 这里的[1,23,3,4,5]你可以从数据库查出数据,拼成这样的字符串 或者在本地创建一个方法show,PHP写成
echo "show(111)";
就直接调用了show方法,并把111当做参数传进去 这里的111可以是你从数据库查出来的数据。
qqcome110 2013-05-06
  • 打赏
  • 举报
回复
引用 1 楼 functionsub 的回复:
JSONP,这个跟JQUERY没关系,原理很简单 script是可以跨域访问的,所以原理就是 创建一个script标签,src指向要跨的地址,服务器端生成特定的可执行的JS代码。 说到底这不算是ajax技术。 JS代码:
var script = document.createElement('script');
script.src = 'http://www.domain.com/aaaa.php';
script.onload = function(){
    document.getElementsByTagName('head')[0].removeChild(this);
}
document.getElementsByTagName('head')[0].appendChild(script);
php:
echo "alert(1)";
这样就会alert一下啦。当然PHP端是随便你怎么写的,你也可以写成
echo "var data = [1,23,3,4,5]";
这样在script的onload事件里就可以直接使用data这个变量了 这里的[1,23,3,4,5]你可以从数据库查出数据,拼成这样的字符串 或者在本地创建一个方法show,PHP写成
echo "show(111)";
就直接调用了show方法,并把111当做参数传进去 这里的111可以是你从数据库查出来的数据。
首先谢谢你的答复,你说的大部分都比较对,跨域实不归ajax技术领域范畴,而且你说的这些和操作iframe是一个概念的,我问的就比较靠近jsonp,现在问题已经解决了。
未知数 2013-05-06
  • 打赏
  • 举报
回复
图片不存在跨域问题 ajax无法跨域 jquery jsonp跨域的原理是加载外部js文件,需要服务器支持
似梦飞花 2013-05-06
  • 打赏
  • 举报
回复
jsonp也需要对方服务端的配合吧 貌似

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧