Django cors跨域问题
问题:只能获取GET请求,无法接收POST
在一开始简单测试的时候,没有任何问题,因为只是接受到了GET请求,然后写注册页面时候惊奇的发现,POST直接接收不到,调试界面显示无响应
谷歌浏览器调试界面NET显示
POST http://172.0.0.1:8000/v1/users net::ERR_CONNECTION_TIMED_OUT,
然后又去火狐搜,出现这个错误:
已拦截跨源请求:同源策略禁止读取位于 http://172.0.0.1:8000/v1/users 的远程资源。(原因:CORS 请求未能成功)。状态码:(null)。
搜了一下午问题还没办法解决,突然想起之前Django配置MySQL的时候也是因为172.0.0.1的问题困扰了我好久,试了试
将172.0.0.1改为localhost 就完美解决了
$.ajax({
type:"post",
contentType: "application/json",
dataType:"json",
data:JSON.stringify(post_data),
# 不要写172.0.0.1
url:"http://localhost:8000/v1/users",
success: function (result){
if (result.code == 200){
alert('注册成功')
} else {
alert(result.error)
}
}
})
本地ip地址害人,能不用就尽量不用,容易出问题,本菜鸡又废了一下午时间