jquery ajax中post请求server端先收到OPTIONS方法解决办法

0.现象

使用jquery下的ajax发送POST的请求时,jquery先发送一个OPTIOINS方法

1.问题原因

OPTIONS方法是用于请求获得由Request-URI标识的资源在请求/响应的通信过程中可以使用的功能选项。通过这个方法,客户端可以在采取具体资源请求之前,决定对该资源采取何种必要措施,或者了解服务器的性能。
参考官宣RFC 7231, section 4.3.7: OPTIONS

2.解决方法

server接收OPTIONS方法,并明确告诉client该如何继续

    def do_OPTIONS(self):               
        self.send_response(200, "ok") #如果继续ajax的post请求,那么OPTIONS请求必须成功           
        self.send_header('Access-Control-Allow-Origin', '*') # 告知支持跨域                 
        self.send_header('Access-Control-Allow-Methods', 'GET, POST,OPTIONS') #告知ajax支持的方法
        self.send_header("Access-Control-Allow-Headers", "X-Requested-With,  Content-Type") #注意如果在ajax中指定了Content-Type,那么这里一定要加上,否则,ajax不会发送后续的POST
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值