|
1
试了网上的很多方法都不行,都提示不允许跨域
|
|
explonJul 13, 2016
2
搜索 JSONP
|
|
ousterljnJul 13, 2016
3
|
|
4
@explon jsonp 之前试了几次要么还是那样要么返回空白数据,不知道是不是参数错误
|
|
5
1. Ajax 默认支持浏览器发起跨域请求( XHR Level 2 标准,可参考 http://www.ruanyifeng.com/blog/2012/09/xmlhttprequest_level_2.html ),只要服务器打开跨域权限就可以直接请求。
服务器不允许跨域请求: ![]() 服务器关闭跨域限制: ![]() 2. JSONP. |
|
binuxJul 13, 2016
6
需要对方支持
|
|
0915240Jul 13, 2016
7
@LancerComet bingo! 服务端开启或者 jsonp
|
|
iyaozhenJul 13, 2016 via Android
8
|
|
hunterererJul 13, 2016
9
|
|
DoraJDJJul 13, 2016
10
|
|
11
@LancerComet
@binux 我是调用一个 API ,所以就没办法服务端开启支持了 T_T @iyaozhen 服务器中转的话,我一开始是这么做的,用 php ,但是因为我的服务器在日本,但 api 所在服务器却在国内再加上我基本上没怎么优化服务器所以中转就慢了很多,还有一个原因就是我怕服务器调用 api 太多次被封 ip(因为是个小型非盈利网站来的) @huntererer 谢谢,我看一下 |
|
12
试了一下几个网址,发现好像我调用的这个 api 不知道为什么就是失败,其他的几个都可以,用浏览器打开 api 地址就可以返回数据
|
|
zxwindJul 14, 2016
13
用 yql ( https://developer.yahoo.com/yql/) 做过
|
|
caixiexinJul 14, 2016 via Android
14
如果对方服务端你不能改的话,只能通过自己的服务端做一层转发咯
|
|
wzxjohnJul 14, 2016 via iPhone
15
@zhihaofans 用浏览器打开 API 地址完全不会导致跨域!这个测试对解决你的问题没有意义的。。。
|
|
kiwi95Jul 14, 2016 via Android
16
如果能修改服务器那开 cors 是最方便的,如果不能就只能在自己的服务器 curl 代理一层
|
|
qinxiJul 14, 2016
17
nginx 反向代理
|
|
Aaron99Jul 14, 2016 via Android
18
jsonp
|
|
19
@wzxjohn
我的意思是 跨域是成功了,但不知道为什么只有我用这个 API 时不返回数据,其他网址的都没问题 |
|
finalspeedJul 14, 2016
20
@Aaron99 第三方 API 不支持,然并卵....
|
|
flydogsJul 14, 2016
21
jsonp
服务器端和客户端都要修改。 |