V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Youthink
V2EX  ›  jQuery

V2 的大神们帮我看看, JQuery 跨域请求遇到点问题

  •  
  •   Youthink · 2016-04-15 21:01:14 +08:00 · 3202 次点击
    这是一个创建于 3145 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问题地址:segmentfault

    谷歌找了一下,基本上都说改后台,但是别人家的后台,动不了啦。帮忙看看。

    22 条回复    2016-04-16 21:30:45 +08:00
    abelyao
        1
    abelyao  
       2016-04-15 21:03:17 +08:00 via iPhone
    当然要对方的服务器允许你跨域请求才行。
    或者你不要在前端 AJAX 直接请求,加个后端例如 PHP 中转一下请求就行了。
    moro
        2
    moro  
       2016-04-15 21:11:36 +08:00
    原始需求是啥。
    cxbig
        3
    cxbig  
       2016-04-15 21:14:29 +08:00
    通常 JS 是不可以跨域名请求数据,如果对方方无法更改,最好还是在自己的后台做 API 请求对方数据
    sunjourney
        4
    sunjourney  
       2016-04-15 21:32:06 +08:00
    走后台或者 curl
    lianyue
        5
    lianyue  
       2016-04-15 21:37:43 +08:00
    GET 方法 才能 jsonp

    添加中间件 嗯 。中转下
    kirisetsz
        6
    kirisetsz  
       2016-04-15 21:40:09 +08:00
    你的浏览器 <---> Nginx <---> 那台服务器

    在 Nginx 做个反向代理加 CORS Headers 就行了
    realpg
        7
    realpg  
       2016-04-15 21:45:48 +08:00
    @kirisetsz
    过两天他该问 nginx 服务器被那台服务器 ban 了怎么办……
    kirisetsz
        8
    kirisetsz  
       2016-04-15 21:49:31 +08:00
    @realpg 打电话给对面运维加白名单
    realpg
        9
    realpg  
       2016-04-15 21:50:45 +08:00
    @kirisetsz
    我觉得他被对面运维报警抓起来才是正解……
    一看就是没授权的自己私自抓人家东西或者往人家站上提交数据……
    kirisetsz
        10
    kirisetsz  
       2016-04-15 21:56:16 +08:00
    @realpg 不要瞎猜,说不定是团队里前后端吵架呢……
    ty0716
        11
    ty0716  
       2016-04-15 21:57:39 +08:00
    @realpg
    学校网站吧? 不要吓唬小朋友,哈哈.

    既然不能改服务端
    找个后端中转下就可以了,

    第二种方法,使用七牛的 CDN,做镜像,再上传一个 crossdomain.xml,这样就跨域跨域了
    kirisetsz
        12
    kirisetsz  
       2016-04-15 22:11:13 +08:00
    @ty0716 crossdomain.xml 不是 Flash 用的…… 么。
    klesh
        13
    klesh  
       2016-04-15 22:14:58 +08:00
    中转是正解
    ty0716
        14
    ty0716  
       2016-04-15 22:18:09 +08:00
    @kirisetsz
    刚试了下.可以用.
    abelyao
        15
    abelyao  
       2016-04-15 22:29:14 +08:00
    @kirisetsz
    @realpg
    @ty0716

    看了一下楼主在 SF 的发帖,里面有网站的地址: http://222.206.65.12/
    估计是想搞个一键续借还是啥的吧……
    wuhuaji
        16
    wuhuaji  
       2016-04-15 23:11:45 +08:00   ❤️ 1
    - 后端没有跨域问题,所以前端无法跨域获取的数据可以通过后端取到,然后给前端。
    - 所谓这些跨域方法,本质还是需要对方服务器支持,不然无法跨域成功。
    详细原理可以看我的博文: http://whj.site/post/qian-duan/kua-yu-de-ji-ge-wen-ti
    Slienc7
        17
    Slienc7  
       2016-04-16 08:36:54 +08:00
    后端再封装出一个接口出来;前端没有这个功能。
    domino
        18
    domino  
       2016-04-16 09:57:03 +08:00 via Android
    The YQL (Yahoo! Query Language) platform enables you to query, filter, and combine data across the web through a single interface. It exposes a SQL-like syntax that is both familiar to developers and expressive enough for getting the right data.
    charlie21
        19
    charlie21  
       2016-04-16 20:06:33 +08:00 via iPhone
    junnplus
        20
    junnplus  
       2016-04-16 21:06:40 +08:00
    熟悉的 id
    junnplus
        21
    junnplus  
       2016-04-16 21:08:37 +08:00
    建议这个功能还是走后端比较好,计划任务之类的。
    ayiis
        22
    ayiis  
       2016-04-16 21:30:45 +08:00
    动得了的,人不能吊死在一颗树上啊
    你看这里 http://www.wooyun.org/bugs/wooyun-2014-085980

    别,干坏事,:P

    建议楼主联系学校网管,就说帮忙修复网站漏洞,然后找准机会抱他大腿就行了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6051 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 02:31 · PVG 10:31 · LAX 18:31 · JFK 21:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.