zoukankan      html  css  js  c++  java
  • 服务端通过设置 响应头允许其他域名跨域访问数据

    设置响应头:

    #允许跨域的域,*代表所有域都接收

    Access-Control-Allow-Origin: http://foo.example 

    #允许跨域执行的方法

    Access-Control-Allow-Methods: POST, GET, OPTIONS

    #允许跨域设置的头信息

    Access-Control-Allow-Headers: X-PINGOTHER

    以下是nginx的方法
    if ($request_method = 'OPTIONS') {
            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Credentials true;
            add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
            add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
            return 200;
        }
         if ($request_method = 'POST') {

            add_header 'Access-Control-Allow-Origin' *;
            add_header 'Access-Control-Allow-Credentials' 'true';
            add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
            add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';

         }

         if ($request_method = 'GET') {

            add_header 'Access-Control-Allow-Origin' *;
            add_header 'Access-Control-Allow-Credentials' 'true';
            add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
            add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';

         }

    javascript:调用实例

    在dev.int.weishi.mobil 的nginx上设置以上配置,javascript页面所属网站是www.shareach.com,通过跨域Post调用dev.int.weishi.mobil 上的数据

    调用代码是
    postData:function(data,success){
        var accountUrl = "http://dev.int.weishi.mobi/web"+rpc.urlUser;
        var jsonuserinfo = $.toJSON(data);
        jQuery.ajax({
            type : 'POST',
            contentType : 'application/json',
            url : accountUrl,
            data : jsonuserinfo,
            dataType : 'json',
            success : function(data) {
                if (data.code == 0) {
                    success(data.result);
                }else{
                    alert(data.msg);
                }
            },
            error : function(data) {
                alert("error")
            }
        });
    },

  • 相关阅读:
    ffmpeg h264编码 extradata 为空
    MySQL主从复制报错一致性问题解决
    MySQL 子查询优化案例
    RAC+单节点搭建DG
    总结搭建Oracle11g DG踩的坑
    解决开机自动调用脚本失败的问题
    MySQL版本升级之5.6到5.7
    MySQL 通过semi join 优化子查询
    MySQL 配置文件中忘配置default-character-set引发的乱码问题
    MySQL5.6下使用xtrabackup部分备份恢复到MySQL5.7
  • 原文地址:https://www.cnblogs.com/yinpengxiang/p/2393658.html
Copyright © 2011-2022 走看看