ajax – CORS:当凭据标志为真时,不能在Access-Control-Allow-Or
我有一个设置涉及
前端服务器(Node.js,domain:localhost:3000)< --->后端(Django,Ajax,domain:localhost:8000) 浏览器< - webapp< - Node.js(服务应用程序) 浏览器(webapp) – > Ajax – > Django(服务ajax POST请求) 现在,我的问题是使用CORS设置,webapp使用它来对后端服务器进行Ajax调用。在chrome,我不断得到
不工作在firefox也。 我的Node.js设置是: var allowCrossDomain = function(req,res,next) { res.header('Access-Control-Allow-Origin','http://localhost:8000/'); res.header('Access-Control-Allow-Credentials',true); res.header('Access-Control-Allow-Methods','GET,PUT,POST,DELETE'); res.header("Access-Control-Allow-Headers","Origin,X-Requested-With,Content-Type,Accept"); next(); }; 在Django我使用this middleware along with this webapp这样请求: $.ajax({ type: "POST",url: 'http://localhost:8000/blah',data: {},xhrFields: { withCredentials: true },crossDomain: true,dataType: 'json',success: successHandler }); 因此,webapp发送的请求头像: Access-Control-Allow-Credentials: true Access-Control-Allow-Headers: "Origin,Accept" Access-Control-Allow-Methods: 'GET,DELETE' Content-Type: application/json Accept: */* Accept-Encoding: gzip,deflate,sdch Accept-Language: en-US,en;q=0.8 Cookie: csrftoken=***; sessionid="***" 这里是响应头: Access-Control-Allow-Headers: Content-Type,* Access-Control-Allow-Credentials: true Access-Control-Allow-Origin: * Access-Control-Allow-Methods: POST,GET,OPTIONS,DELETE Content-Type: application/json 我在哪里错了? 编辑1:我一直在使用chrome –disable-web-security,但现在想要的东西实际上工作。 编辑2:答案: 所以,解决方案我django-cors-headers配置: CORS_ORIGIN_ALLOW_ALL = False CORS_ALLOW_CREDENTIALS = True CORS_ORIGIN_WHITELIST = ( 'http://localhost:3000' # Here was the problem indeed and it has to be http://localhost:3000,not http://localhost:3000/ )
这是安全的一部分,你不能这样做。如果要允许凭据,则您的Access-Control-Allow-Origin不能使用*。您必须指定确切的域。参考看这些问题:
> Access-Control-Allow-Origin wildcard subdomains,ports and protocols 此外*太宽容,会打败凭证的使用。因此,将localhost:3000或localhost:8000添加到allow origin标头。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- c 11 – 如何在C中的>>地图中插入插入?
- ios – 在Xcode Workspace中构建单个项目
- ruby-on-rails – 工厂女孩 – 传递关联数据
- 3D引擎:Horde3D:Cocos 和 Horde3D渲染部分的设计比较
- ajax post中在firefox返回值一个值得注意的地方
- 正则表达式 – Python:从格式字符串中提取所有占位符
- rk3288 ov8858 camera mipi 30p 黑屏修改cam_board.xml文件
- oracle中create table with as和insert into with as语句
- C#如何始终舍入到最接近的50
- Oracle客户端与plsql查询数据乱码修改成中文的快速解决方法