永发信息网

如何设置请求ajax发送跨域请求头

答案:1  悬赏:0  手机版
解决时间 2021-02-04 15:32
如何设置请求ajax发送跨域请求头
最佳答案
客户端 按照原来的写,你需要处理的是 服务端 响应头的设置
1.第一步 设置响应头
header('Access-Control-Allow-Origin:*'); //支持全域名访问,不安全,部署后需要固定限制为客户端网址
header('Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE'); //支持的http 动作
header('Access-Control-Allow-Headers:x-requested-with,content-type'); //响应头 请按照自己需求添加。
2.第二部 了解IE chrome 等浏览器 对于 跨域请求并要求设置Headers自定义参数的时候的 "预请求" 就是如果遇到 跨域并设置headers的请求,所有请求需要两步完成!
A 第一步:发送预请求 OPTIONS 请求。此时 服务器端需要对于OPTIONS请求作出响应 一般使用202响应即可 不用返回任何内容信息。(能看到这份手稿的人,本人不相信你后台处理不了一个options请求)
B 第二步:服务器accepted 第一步请求后 浏览器自动执行第二步 发送真正的请求。此时 大多数人 会发现请求成功了,但是 有那么几个人会发现 请求成功了但是没有任何信息返回 why?因为你自定义的请求头在服务器响应中不存在!
查看console输出 会发现一个问题:
“Access-Control-Allow-Headers 列表中不存在请求标头 XXXXXX”【IE】,
request header field xxxxxx is not allowed by Access-Control-Allow-Header【chrome】
这是因为 你的XXXX请求头 没有在服务器端被允许哦~
遇到这个问题 只有通过修改服务器端来完成,举例:需要设置 requesttype这么一个自定义头,那么 你需要在 服务端里面 将header('Access-Control-Allow-Headers:x-requested-with,content-type,requesttype'); 同学们自行体会吧 这种语法就是根据“,”分割 自己需要设置什么头,必须要在 服务端请求的响应头里面设置好,不然客户端永远永远提交不上去!
至此 JavaScript/ajax 跨域+ 修改httpheader 任务完美实现。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
远腾国际教育地址好找么,我有些事要过去
路漫漫其修道远兮,吾将上下而求索 的意思?
晋槐堂客栈怎么去啊,有知道地址的么
在建筑中采用下列哪种钢丝制造索揽和弹簧?[
我晕针怎么回事
秉珪的意思是什么啊?知道的请说下!
闽台(厦门)文化产业园管委会怎么去啊,有知道
铁皮房盖应刷什么漆
民权方正职业培训学校地址好找么,我有些事要
我的世界手机版里怎么得命令方块
华艺轩画室地址在哪,我要去那里办事
寻仙资源回收怎么升级呢?
沈阳的朋友,谁知道从五里河到鸟岛的徒步路线
工程建设项目风险管理的主要工作程序包括()。
肥西宾馆在哪里啊,我有事要去这个地方
推荐资讯
汽车停在陡坡上机油液位低会低吗
华为荣耀4微信语音没有了怎么办
微信上红包寄语2.53是什么意思
肖德应批发部这个地址在什么地方,我要处理点
非深户交满15年准备在深办退休,以后不来深圳
2017期三地120期开奖结果
she piays tennis every day tennis属于表语,
没有签署劳动合同可以随时主动离职吗
寸光的意思是什么啊?知道的请说下!
梅林幼儿园(漳州漳浦县)怎么去啊,我要去那办
天涯明月刀ol神威能不能光把弓掩藏了
我的朋友他开了加工厂才几个人但是有的产品就
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?