当前位置: 首页 > 知识库问答 >
问题:

Access Control不接受的Angular$Resource调用允许使用Safari vs接受使用Chrome

利博远
2023-03-14
angular.module('vinifyApp')
.factory('WinesVinibar',function($resource){
return $resource('http://devinify1.herokuapp.com/wines/');    
})
.controller('GetWinesVinibarCtrl', function($scope, WinesVinibar){
$scope.WINES = WinesVinibar.query();
}
Request
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4
Connection:keep-alive
Host:devinify1.herokuapp.com
Origin:http://mobilevinify.herokuapp.com
Referer:http://mobilevinify.herokuapp.com/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML,     like Gecko) Chrome/31.0.1650.63 Safari/537.36
Response Headersview source
Access-Control-Allow-Origin:*
Allow:GET, POST, HEAD, OPTIONS
Connection:keep-alive
Content-Type:application/json
Date:Mon, 09 Dec 2013 16:16:36 GMT
Server:gunicorn/18.0
transfer-encoding:chunked
Vary:Accept, Cookie
[Error] Failed to load resource: Request header field Accept-Encoding is not allowed by     Access-Control-Allow-Headers. (wines, line 0)
Request
Access-Control-Request-Method   GET
User-Agent  Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9) AppleWebKit/537.71 (KHTML,     like Gecko) Version/7.0 Safari/537.71
Access-Control-Request-Headers  accept-language, origin, accept-encoding

Response
Access-Control-Max-Age  86400
Access-Control-Allow-Methods    GET, POST, PUT, PATCH, DELETE, OPTIONS
Content-Type    text/html; charset=utf-8
Access-Control-Allow-Origin *
Connection  keep-alive
Access-Control-Allow-Headers    x-requested-with, content-type, accept, origin, authorization, x-csrftoken
Content-Length  0

似乎有一个问题与编码,但我不知道谁去解决这个问题。感谢您抽出时间!

共有1个答案

袁文景
2023-03-14

您似乎遗漏了CORS_ALLOW_HEADERS设置中的一些参数:

Request:
Access-Control-Request-Headers  accept-language, origin, accept-encoding

Response:
Access-Control-Allow-Headers    x-requested-with, content-type, accept, origin, authorization, x-csrftoken

尝试在settings.py的头文件中添加accept-language和accept-encoding

CORS_ALLOW_HEADERS = (
'x-requested-with',
'content-type',
'accept',
'origin',
'authorization',
'x-csrftoken',
'accept-encoding',
'accept-language'

 类似资料:
  • 问题内容: 我一直在研究从动态Web应用程序中提取信息的程序,该程序运行良好,直到我将tomcat服务器设置为使用具有自签名(因此,不受信任)证书的SSL。错误的堆栈跟踪为: 在Web浏览器中,当用户使用不受信任的证书访问HTTPS站点时,系统会提示用户警告,并要求他设置是否愿意继续进行操作;我想为我的命令行应用程序实现类似的功能…我承认我是套接字编程和网络领域的新手。解决这个问题的任何建议都会很

  • 似乎HttpClient/HttpClientHandler没有提供忽略不信任证书的选项,比如WebRequest使您能够忽略不信任证书(尽管使用)。 任何帮助都将不胜感激!

  • 经过一些 <罢工> 向万物祈祷 google搜索发现shell脚本安装在一个不相关的位置,必须运行该脚本才能接受许可证。克服了最初的 <罢工> 信仰的考验 问题,我运行脚本并遇到以下错误。 我在网上发现了许多有同样问题的人。 从这个问题来看,最流行的解决方案建议在shell脚本中找到特定的一行,并添加。这将导致以下错误。 null 有没有人知道一种不那么复杂的方法,可以在2019年用Java11首

  • 我刚刚实现了:PHP PayPalCheckoutSdk:https://github.com/paypal/Checkout-PHP-SDK 它重定向访问者PayPal登录,然后他支付。 但我的客户希望客户使用信用卡付款,并且只能选择使用贝宝登录。 我读过另一个使用Javascript的应用编程接口,叫做智能支付(或快速结账,我不知道...): https://developer.paypal.

  • 问题内容: 我很好奇如何正确使用和。 views / orders / new.html.erb views / order_details / _details.html.erb controllers / orders_controller.rb (我很确定这是错误的……这里的任何帮助将不胜感激) 模型/ order.rb 我能够使部分音色演奏得更好的唯一方法是,如果我实际上叫as 。但这根本

  • 我正在使用python和argparse编写脚本: 我希望能够运行它与python3parseab.py-a 11-b 22-a 33,和函数A将执行两次与11和33,和函数B一次与22。 现在每个功能只发生一次。 *我不想在每个选项后接受更多参数,而是希望能够接受同一函数的多个实例。 谢谢你!