Request header field sessionId is not allowed by Access-Control-Allow-Headers in preflight response.

上传图片 跨域请求 出现异常

跨域请求出现异常:Request header field sessionId is not allowed by Access-Control-Allow-Headers in preflight response.

原因:调用的接口,请求头中不允许sessionId
解决方法:在ajax方法调用之前先把设置的sessionId删除,待处理完成之后,也要记得把sessionId设置回去。
删除:
delete jQuery.ajaxSettings.headers['sessionId']

设置回去:
jQuery.ajaxSettings.headers['sessionId'] = Cookies.get("sessionId");

具体案例:
//上传图片功能
        function uploadImg(file) {
            var fd = new FormData();
            fd.append('uploadFile', file);

            //删除请求头中的sessionid
            delete jQuery.ajaxSettings.headers['sessionId']

            $.ajax({
                url:uploadUrl,
                type: "post",
                // Form数据
                dataType:'json',
                data: fd,
                cache: false,
                contentType: false,
                processData: false,
                beforeSend:function(xhr){
                    //删除请求头中的sessionid  这里不一定可以,在本项目中,就不行
                    //  delete jQuery.ajaxSettings.headers['sessionId']
                },
                success: function (data) {
//                jQuery.ajaxSettings.headers['sessionId'] = Cookies.get("sessionId");
                    linkImage = data.visitPath;

                    //上传成功,展示在页面上  展示 linlUrl
                    $("#linkImage").attr("src",linkImage);
                }

            });

            //将数据设置回去
            jQuery.ajaxSettings.headers['sessionId'] = Cookies.get("sessionId");

        }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值