Ajax请求如何跨域


发布者 qing  发布时间 1400456331264
关键字 前端 
RT,两个不同域名,可以实现吗?




回复 (4)
  • #
  • #1 kris 1400463277345

    比较正统的方法是使用: JSONP,不解释了,可以对老浏览器支持地很好;

    比较现代的方法是在Http header是添加一个: Access-Control-Allow-Origin: * 的节点,

    如:

    HTTP/1.1 200 OK
    Date: Mon, 01 Dec 2008 00:23:53 GMT
    Server: Apache/2.0.61 
    Access-Control-Allow-Origin: *
    Keep-Alive: timeout=2, max=100
    Connection: Keep-Alive
    Transfer-Encoding: chunked
    Content-Type: application/xml
    

    PS: 这两种方案都需要对方服务器配合。

  • #2 qing 1400545192231

    Jsonp有没有现成的组件?

  • #3 kris 1400548310681

    在Node.js中很容易实现,按callback(data),格式输出即可, 这段会被当成SCRIPT嵌入调用的HTML页面,这段代码就可以回调callbak并传入数据,如,可在NodeJS中这样写:

    response.write(params.callback + '(' + JSON.stringify(rows) + ')');
    

    Express框架中也有现成的写法

    // ?callback=foo
    res.jsonp({ user: 'tobi' })
    
  • #4 qing 1400563259962

    好的,Thank you

微信扫码 立即评论




  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA