zoukankan      html  css  js  c++  java
  • 更简单的跨域解决方案

    跨域问题是前端开发经常遇到的了,大家可能常用的就是JSONP了,

    JSONP非常方便,只要前后端约定好一个方法名,就可以沟通了,但JSONP也有一定的局限,JSONP只支持GET请求,还有当你想提供一个公开服务,可以让所有外部开发者都可以调用,用JSONP就有点麻烦了

    例如调用百度的API服务

    var api = 'http://apis.baidu.com/heweather/weather/free?city=beijing';
    $.get(api,function (data){
    alert(data);
    });

    可以发现直接调用就可以正常返回,没做任何处理,也没有使用JSONP

    这个如何实现?

    非常简单,使用CORS(跨域资源共享)方式即可

    实现的方式也很简单,在服务端添加一个‘Access-Control-Allow-Origin’响应头信息就可以了

    可以允许所有跨域调用,例如 

    Access-Control-Allow-Origin: *

    也可以只允许某个域名的调用,例如

    Access-Control-Allow-Origin: http://www.a.com

    例如php中的设置:

    header('Access-Control-Allow-Origin: *');

    注意

    CORS是个新东西,大部分浏览器已经支持,据说IE8也已经支持,如果对浏览器兼容性及其在意的话,建议慎用,严格测试一下

  • 相关阅读:
    Animation用法
    英文口语及书写常用句型汇总1
    Jqplot使用总结之二(双Y轴)
    SqlServer扩展存储过程
    SQL Server常见基础操作
    C# 利用ITextSharp导出PDF文件
    go常量
    ARP协议
    go数组
    go基本数据类型
  • 原文地址:https://www.cnblogs.com/jifeng/p/5138919.html
Copyright © 2011-2022 走看看