开发者社区> 问答> 正文

jq 在ajax中带上headers后报错 ?报错

js代码:

 var requert = $.ajax({
        url: object.url
        data: object.data || '',
        type: object.method || 'POST',
        dataType: object.dataType || 'json',
        headers:{
                'token':'1233211234567'
        },
        success: function(res){
                // console.log(res)
                object.success(res);
        },
        error: function (res,errMsg) {  
                throw errMsg
        },
        complete: function (param) {  
                // console.log(param);
        }
    })
    if(object && object.ajaxParam){
            object.ajaxParam(requert);
    }
}

加上 headers 之后,就一直报错,

 Access to XMLHttpRequest at 'http://101.132.158.167:86/index.php/index/index/lishiclass' from origin 'null' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

然后我在 php 端加上:

 header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Allow-Methods:PUT,POST,GET,DELETE,OPTIONS');
header('Access-Control-Allow-Headers:X-Requested-With,token,origin'); 
header('Content-Type:application/json;charset=utf-8');

也无法解决问题,有没有大神帮帮忙,谢谢

展开
收起
爱吃鱼的程序员 2020-06-23 00:57:32 764 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    加上headers之后,header已经不是正常情况的数据了,后台不作处理定会报错,应该上php端有错,配置没有没有生效。

    header('Access-Control-Allow-Origin:*');
    这个的问题你这边跨域了
    需要改一下改成获取的信息
    $origin=isset($_SERVER['HTTP_ORIGIN'])?$_SERVER['HTTP_ORIGIN']:'null';
    header("Access-Control-Allow-Origin:".$origin);

    2020-06-23 00:57:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载