问一个关于 JSON 跨域请求的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xia0chun
V2EX    问与答

问一个关于 JSON 跨域请求的问题

  •  
  •   xia0chun 2014-06-09 20:37:27 +08:00 3904 次点击
    这是一个创建于 4141 天前的主题,其中的信息可能已经有所发展或是发生改变。
    各位好,又来提问了
    想用 @RelativeLayout 提供的“榨干百度网盘计划”,构造好URL之后,直接在浏览器里访问是可以的,例如 http://daimajia.duapp.com/baidu/?url=http://pan.baidu.com/s/1bn7tXHd


    我现在想用js来获取并解析这段JSON,试了好几个方法都不行,想请哪位好心给讲一下。

    我从网上找了一段jQuery跨域请求JSON的例子,这个例子是可以请求到JSON数据:


    然后我依葫芦画瓢修改了一下,就无法返回数据:


    请问这是什么原因?谢谢
    17 条回复    2014-06-12 06:15:28 +08:00
    jsonline
        1
    jsonline  
       2014-06-09 20:48:52 +08:00 via Android   1
    它没跨域,你跨域了。
    JSON 无法跨域用 ajax 请求,除非加了 CORS 头。
    JSONP 可以做到,但前提是该域名有提供 JSONP 接口。
    Chrome App 里的 JS 可以随便跨域。
    switch
        2
    switch  
       2014-06-09 20:59:04 +08:00   1
    http://daimajia.duapp.com/baidu
    这个 app 是你的吗?如果是就把返回的 JSON 方式改成 JSONP 方式就可以了。
    learnshare
        3
    learnshare  
       2014-06-09 21:02:04 +08:00   1
    你所请求的资源和 HTML 不在同域名同端口的服务器下,就是跨域了。出于安全考虑,浏览器不允许这么干。有三种方法可以解决:

    1. 放到同域名同端口下(这个做不到);
    2. 服务器端支持 JSONP 的请求方式(这个也做不到吧);
    3. 服务器端配置 CORS(Cross-origin resource sharing)(这个还是做不到)。

    可以尝试用后端语言来请求这个资源,并完成解析。后端没有跨域这种东西。
    xia0chun
        4
    xia0chun  
    OP
       2014-06-09 21:07:52 +08:00
    @switch 这个不是我的,是 @RelativeLayout 的,我想用他的服务端直接来获取下载地址的
    xia0chun
        5
    xia0chun  
    OP
       2014-06-09 21:09:29 +08:00
    @jsonline
    @learnshare
    谢谢二位的指点,不知道 @RelativeLayout 能否添加上JSONP支持呢,谢谢 :)

    以上回复,感谢已发
    learnshare
        6
    learnshare  
       2014-06-09 21:14:20 +08:00
    @xia0chun 不如你直接找他要代码咯
    RelativeLayout
        7
    RelativeLayout  
       2014-06-09 21:15:18 +08:00 via iPhone   1
    没问题 本来只计划客户端使用的,明天或者后天就搞定 搞定了来戳你
    ChanneW
        8
    ChanneW  
       2014-06-09 21:16:00 +08:00
    后端处理
    xia0chun
        9
    xia0chun  
    OP
       2014-06-09 21:17:48 +08:00
    @learnshare 刚才看了一下源码就托管在Github上的,不想自己在搭建了 :)
    xia0chun
        10
    xia0chun  
    OP
       2014-06-09 21:19:16 +08:00
    @RelativeLayout 真是太谢谢了 :)
    xia0chun
        11
    xia0chun  
    OP
       2014-06-09 21:20:46 +08:00
    @ChanneW 其实我想的是生成静态的下载页面,那样就可以放在Farbox或者Github或者qiniu上了,不需要动态语言的支持,嘿嘿。
    ChanneW
        12
    ChanneW  
       2014-06-09 21:30:43 +08:00
    @xia0chun 那就在你生成静态界面的时候转掉.
    xia0chun
        13
    xia0chun  
    OP
       2014-06-09 21:32:23 +08:00
    @ChanneW 貌似返回的下载地址不是固定的吧?所以没有办法直接写死在静态页面里
    xia0chun
        15
    xia0chun  
    OP
       2014-06-11 22:34:25 +08:00
    @RelativeLayout 亲,能否给我一个例子啊,搞了一晚上也没取到数据。抱歉我只会依葫芦画瓢 :(
    RelativeLayout
        16
    RelativeLayout  
       2014-06-11 23:03:44 +08:00 via iPhone
    @xia0chun 这两天有点小忙,稍等两天给你写个
    xia0chun
        17
    xia0chun  
    OP
       2014-06-12 06:15:28 +08:00
    @RelativeLayout 嗯嗯,好的。先谢谢了 :)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5513 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 08:30 PVG 16:30 LAX 01:30 JFK 04:30
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86