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

大家是如何解决浏览器的跨域 POST 请求? :joy:

  •  
  •   skyshy · 2015 年 8 月 16 日 · 3426 次点击
    这是一个创建于 3824 天前的主题,其中的信息可能已经有所发展或是发生改变。
    通过JSONP解决跨域资源共享,其实就是一个js的的GET请求。

    可是不知道怎么解决这种跨域的POST请求。

    说多了都是泪 。:sob:
    10 条回复    2015-08-17 00:50:47 +08:00
    fiture
        1
    fiture  
       2015 年 8 月 16 日 via Smartisan T1
    post 到iframe里面
    w88975
        2
    w88975  
       2015 年 8 月 16 日   ❤️ 1
    abelyao
        3
    abelyao  
       2015 年 8 月 16 日
    为啥不能跨域 POST?
    经常在客户端直接把用户上传的文件 POST / PUT 到云存储上。
    先说明服务端(接收端)是不是在自己掌控的手里,如果是的话只要允许跨域请求就好咯。
    skyshy
        4
    skyshy  
    OP
       2015 年 8 月 16 日
    @fiture iframe 不是只能是子域名的吗?
    @abelyao 只有客户端,服务端不是我这边掌控
    learnshare
        5
    learnshare  
       2015 年 8 月 16 日
    能在服务端解决,就在服务端解决
    orcusfox
        6
    orcusfox  
       2015 年 8 月 16 日
    allow access allow control
    abelyao
        7
    abelyao  
       2015 年 8 月 17 日
    @skyshy 如果服务端不能控制,并且不支持跨域的话,就自己做个后端,转发一下请求。但只适合流量小的情况。
    dong3580
        8
    dong3580  
       2015 年 8 月 17 日   ❤️ 1
    JSONP那种方法不叫解决方案,只会诱导你对get/post的误解。
    四种解决方案,

    1.服务器端配置,允许跨域,然后 浏览器端 js post/get请求,都可跨域,设置方案参照#2的答案连接中#10;
    2.写个Chrome的拓展,可以js跨域请求;
    3.在IE浏览器中,设置允许跨域请求;
    4.使用后端 get/post 中转结果, 返回值。
    zakokun
        9
    zakokun  
       2015 年 8 月 17 日
    一般单靠前端不可能解决
    都是服务器允许跨域就可以了
    superloop
        10
    superloop  
       2015 年 8 月 17 日   ❤️ 1
    以前人人网是在网页里加个带javascript的iframe作为代理页面转发post请求
    而调用iframe的js则通过修改iframe的window.location属性来和iframe中的javascript通信
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2688 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 11:07 · PVG 19:07 · LAX 03:07 · JFK 06:07
    ♥ Do have faith in what you're doing.