首页 新闻 搜索 专区 学院

js跨域求解答

0
悬赏园豆:50 [已解决问题] 解决于 2014-09-16 14:09

要在js里写一个方法去访问网络资源,比如http://www.baidu.com这种,得到返回数据。但是因为跨域限制访问不到。上网查了好久也没找到什么满意的答案。大部分都是说用jsonp,但是jsonp要对服务端返回数据进行修改呀~   比如原本服务端写的是 return data,  用jsonp的话服务端就要写成  return jsonp(data)这种形式了。关键是我现在改不了人家返回的数据。

hardtoname的主页 hardtoname | 初学一级 | 园豆:157
提问于:2014-09-12 14:42
< >
分享
最佳答案
0

必须代理才行

收获园豆:50
刘宏玺 | 专家六级 |园豆:14006 | 2014-09-12 15:18

代理?

hardtoname | 园豆:157 (初学一级) | 2014-09-12 15:18

@hardtoname: 在你的服务器模拟请求啊

刘宏玺 | 园豆:14006 (专家六级) | 2014-09-12 15:20

@刘宏玺: 我现在只是利用HTML来做界面。C/S结构,不是B/S结构。所以我再弄一个tomcat的话,在运行程序里就还要绑一个tomcat。

hardtoname | 园豆:157 (初学一级) | 2014-09-12 15:21

@hardtoname: 那就有办法了,你直接用httprequest去模拟请求不就完事了

刘宏玺 | 园豆:14006 (专家六级) | 2014-09-12 15:24

@刘宏玺: 啊 ?  httprequest ?

hardtoname | 园豆:157 (初学一级) | 2014-09-12 15:27

@hardtoname: 你用的什么语言?

刘宏玺 | 园豆:14006 (专家六级) | 2014-09-12 15:27

@刘宏玺: 就用javascript和html。

hardtoname | 园豆:157 (初学一级) | 2014-09-12 15:29

@hardtoname: 你不是说C/S么?在浏览器里面看?

刘宏玺 | 园豆:14006 (专家六级) | 2014-09-12 15:31

@刘宏玺: web-kit

hardtoname | 园豆:157 (初学一级) | 2014-09-12 15:32

@hardtoname: 。。。意思是说你写的只有javascript和html啊,没有运行在像C#的Winform上面?

刘宏玺 | 园豆:14006 (专家六级) | 2014-09-12 15:34

@刘宏玺: 恩。

hardtoname | 园豆:157 (初学一级) | 2014-09-12 15:35

@hardtoname: 如果你在一个页面用了两个域的资源的话,我觉得只用js是万万不能实现的

刘宏玺 | 园豆:14006 (专家六级) | 2014-09-12 15:38

@刘宏玺: 其实写成<script type="text" src=url></script>这种形式可以完成链接,但是这个数据被动态放到script里,还是没办法拿出来。跨域限制真是烦啊。。

hardtoname | 园豆:157 (初学一级) | 2014-09-12 15:49
其他回答(4)
0

你应该用js访问本域内的一个地址,这个地址负责去跨域取js然后返回给你。等于是有个代理,帮你跨域取东西。

王者永乐 | 园豆:29 (初学一级) | 2014-09-12 14:53

这么做的话HTML页面还是得放在服务器上。我需要的是不用tomcat之类的容器,单独跑这个HTML就能拿到数据。

支持(0) 反对(0) hardtoname | 园豆:157 (初学一级) | 2014-09-12 14:56
0

这个应该是浏览器不允许的。

不屈的心 | 园豆:147 (初学一级) | 2014-09-12 15:08
0

你的Jsonp是怎么写的?

晓菜鸟 | 园豆:2594 (老鸟四级) | 2014-09-12 15:14

$.get(url+"?jsonp=?",function(data){})这种啊。这样的话Server端需要拿到jsonp 然后放到返回数据里,这个function(data)才会运行。但我现在没法修改Server端。

支持(0) 反对(0) hardtoname | 园豆:157 (初学一级) | 2014-09-12 15:16

$.getJSON 打错了。。

支持(0) 反对(0) hardtoname | 园豆:157 (初学一级) | 2014-09-12 15:18

@hardtoname: 那还是自己写个后台方法访问目标地址,Js请求自己本域的地址吧。

支持(0) 反对(0) 晓菜鸟 | 园豆:2594 (老鸟四级) | 2014-09-12 15:20

@晓菜鸟: 囧 -_-||

支持(0) 反对(0) hardtoname | 园豆:157 (初学一级) | 2014-09-12 15:23
0

js跨域及解决方案

http://www.cnblogs.com/oneword/archive/2012/12/03/2799443.html

js中几种实用的跨域方法原理详解 - 无双 - 博客园

http://www.cnblogs.com/2050/p/3191744.html

LiuKaiFa | 园豆:1491 (小虾三级) | 2014-09-15 07:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册