V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
mopig
V2EX  ›  JavaScript

请问: 有什么办法跨域调用本站的 API? JSONP 好像不支持!

  •  
  •   mopig · 2015-03-18 17:11:27 +08:00 · 3941 次点击
    这是一个创建于 3571 天前的主题,其中的信息可能已经有所发展或是发生改变。
    <script src='https://www.v2ex.com/api/topics/latest.json?callback=cbfunc'></script>
    

    以上

    • callback 无法执行;
    • 不知道姿势对不对.
    19 条回复    2015-03-19 08:54:38 +08:00
    fising
        1
    fising  
       2015-03-18 17:13:40 +08:00   ❤️ 1
    scheme
    fising
        2
    fising  
       2015-03-18 17:15:19 +08:00   ❤️ 1
    返回的就是个json格式数据,貌似不支持 jsonp 调用?
    b821025551b
        3
    b821025551b  
       2015-03-18 17:19:02 +08:00   ❤️ 1
    本地跑一下这个API,原封不动给出数据,js调用这个
    phoenixlzx
        4
    phoenixlzx  
       2015-03-18 17:20:10 +08:00 via Android   ❤️ 1
    CORS 开了吗
    mopig
        5
    mopig  
    OP
       2015-03-18 17:21:51 +08:00
    @b821025551b
    @fising

    所以, 只能自己再起个后台服务了.
    mopig
        6
    mopig  
    OP
       2015-03-18 17:29:11 +08:00
    @phoenixlzx 这个需要 v2ex 打开吧...
    fising
        7
    fising  
       2015-03-18 17:34:14 +08:00   ❤️ 1
    @phoenixlzx


    cache-control:max-age=120
    date:Wed, 18 Mar 2015 09:33:36 GMT
    etag:"53ababd37e6ce8cb5ef2b0278246c0a15ab3791f"
    expires:Wed, 18 Mar 2015 09:35:20 GMT
    google:XY
    server:nginx
    status:304
    vary:Accept-Encoding
    version:HTTP/1.1
    x-rate-limit-limit:60
    x-rate-limit-remaining:59
    x-rate-limit-reset:1426672800


    没开
    lilydjwg
        8
    lilydjwg  
       2015-03-18 17:48:16 +08:00   ❤️ 1
    返回结果是 Array,直接劫持试试: http://haacked.com/archive/2009/06/25/json-hijacking.aspx/
    phoenixlzx
        9
    phoenixlzx  
       2015-03-18 17:49:06 +08:00   ❤️ 1
    @mopig
    @fising 可以自己做一份 HTTP 代理然后在 header 里加上。
    caixiexin
        10
    caixiexin  
       2015-03-18 17:53:48 +08:00   ❤️ 1
    @mopig +1
    最简单的解决方法就是在自己的后端的写个代理服务中转下了
    JSONP 需要服务端支持,如果提供api的服务端不支持JSONP的话,就不能用
    f0rger
        11
    f0rger  
       2015-03-18 17:57:23 +08:00   ❤️ 1
    额。。。目测v2ex只提供了json接口,不是jsonp接口,callback参数没输出
    fising
        12
    fising  
       2015-03-18 18:01:39 +08:00   ❤️ 1
    @phoenixlzx 那不是脱裤子放屁么。
    b821025551b
        13
    b821025551b  
       2015-03-18 18:03:56 +08:00   ❤️ 1
    @fising 搭个桥怎么能是脱裤子放屁呢
    fising
        14
    fising  
       2015-03-18 18:05:09 +08:00   ❤️ 1
    @b821025551b 好吧,我以为他说的是 HTTP Header。仔细看了一下,他说的应该是HTML HEADER
    isayme
        15
    isayme  
       2015-03-18 18:33:20 +08:00   ❤️ 1
    ddou
        16
    ddou  
       2015-03-18 19:10:37 +08:00
    后端服务要支持JSONP才行吧
    falcon05
        17
    falcon05  
       2015-03-18 20:05:57 +08:00 via iPhone   ❤️ 1
    你可以用YQL中转,那个支持CORS的
    lalalanet
        18
    lalalanet  
       2015-03-18 22:01:25 +08:00
    服务端用socket获取url,执行js,结果返回给你的前端。 说白了就是做个转发,当年没有cors,人人这么搞。
    hkongm
        19
    hkongm  
       2015-03-19 08:54:38 +08:00
    jsonp需要后端写代码抓你的callback的,静态资源不能jsonp
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3411 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 04:57 · PVG 12:57 · LAX 20:57 · JFK 23:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.