Tag: Cors

Amazon S3 CORS(跨源资源共享)和Firefox跨域字体加载

Firefox不能从当前网页加载不同来源的字体是一个长期存在的问题。 通常,在CDN上提供字体时会出现问题。 其他问题已经提出了各种解决scheme: CSS @ font-face不适用于Firefox,但是可以使用Chrome和IE 随着Amazon S3 CORS的推出,有没有一种解决scheme使用CORS来解决Firefox中的字体加载问题? 编辑:很高兴看到S3 CORSconfiguration的样本。 编辑2:我find了一个工作解决scheme,却没有真正理解它做了什么。 如果任何人都可以提供关于configuration的更详细的解释和在亚马逊的configuration解释发生的背景魔术,将不胜感激,如nzifnab谁给它的恩惠。

AngularJS POST失败:针对预检的响应具有无效的HTTP状态码404

我知道有很多这样的问题,但是我没有看到任何问题已经解决了我的问题。 我已经使用了至less3个微框架。 他们都做了一个简单的POST失败,应该返回数据: angularJS客户端: var app = angular.module('client', []); app.config(function ($httpProvider) { //uncommenting the following line makes GET requests fail as well //$httpProvider.defaults.headers.common['Access-Control-Allow-Headers'] = '*'; delete $httpProvider.defaults.headers.common['X-Requested-With']; }); app.controller('MainCtrl', function($scope, $http) { var baseUrl = 'http://localhost:8080/server.php' $scope.response = 'Response goes here'; $scope.sendRequest = function() { $http({ method: 'GET', url: baseUrl + '/get' }).then(function successCallback(response) { […]

如何在WebAPI 2中进行CORS身份validation?

该场景很简单,我需要从另一个服务器(不同于API服务器)login来检索访问令牌。 我在API服务器上安装了Microsoft.Owin.Cors软件包。 在Startup.Auth.cs文件中,在public void ConfigureAuth(IAppBuilder app) ,我join了 app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll); 在WebApiConfig.cs ,在public static void Register(HttpConfiguration config) ,我在这些行中添加了: // Cors var cors = new EnableCorsAttribute("*", "*", "GET, POST, OPTIONS"); config.EnableCors(cors); 我还应该改变什么?

spring数据rest和Cors

我正在开发一个Rest接口和一个DART前端的Spring Boot应用程序。 XMLHttpRequest确实执行完全正确的OPTIONS请求。 在此之后,最后的GET(“/ products”)请求被发出并失败: 请求的资源上没有“Access-Control-Allow-Origin”标题。 原因' http:// localhost:63343 '因此不被允许访问。 经过一些debugging后,我发现了以下内容:AbstractHandlerMapping.corsConfiguration为除RepositoryRestHandlerMapping之外的所有子类填充。 在RepositoryRestHandlerMapping中,在创build时不存在/设置corsConfiguration,所以它不会被识别为corspath/资源。 =>没有附加CORS头文件 这可能是问题吗? 我该如何设置? configuration类: @Configuration public class RestConfiguration extends RepositoryRestMvcConfiguration { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**").allowCredentials(false).allowedOrigins("*").allowedMethods("PUT", "POST", "GET", "OPTIONS", "DELETE").exposedHeaders("Authorization", "Content-Type"); } … } 我甚至试图设置Cors每个注释: @CrossOrigin( methods = RequestMethod.GET, allowCredentials = "false") public interface ProductRepository extends CrudRepository<Product, String> { } 原始请求标题: […]

CORS – 如何“预检”一个httprequest?

我正在尝试做一个跨域HTTP请求到WCF服务(我自己)。 我已经阅读了几种处理跨域脚本限制的技术。 因为我的服务必须兼容GET和POST请求,所以我不能实现一些dynamic脚本标记,其src是一个GET请求的URL。 由于我可以自由地在服务器上进行更改,因此我已经开始尝试实施一种解决方法,其中包括configuration服务器响应,以包含“Access-Control-Allow-Origin”标头和“预检”请求和OPTIONS请求。 我从这篇文章中得到了这个想法: 让CORS工作 在服务器端,我的web方法是在HTTP响应中添加“Access-Control-Allow-Origin:*”。 我可以看到,现在的回复确实包含了这个头文件。 我的问题是:如何“预检”请求(OPTIONS)? 我正在使用jQuery.getJSON进行GET请求,但浏览器立即取消了臭名昭着的请求: Access-Control-Allow-Origin不允许来源http:// localhost 有人熟悉这种CORS技术吗? 客户需要做什么修改来预检我的请求? 谢谢!

在Tomcat中设置CORS头

我有一个由Tomcat托pipe的静态网站。 如何为我的网站设置一个标题,如: Access-Control-Allow-Origin: * 它们都是静态文件,而不是任何servlet应用程序。

XMLHttpRequest无法使用jQuery加载URL

我试图从一个“远程”网站获取一些JSON数据。 我在99000端口上运行我的Web服务,然后在99001端口上启动我的网站(http:// localhost:99001 / index.html)。 我收到以下消息: XMLHttpRequest cannot load http://localhost:99000/Services.svc/ReturnPersons. Origin http://localhost:99001 is not allowed by Access-Control-Allow-Origin. 即使如我启动我的网页作为一个HTML文件,我得到这个: XMLHttpRequest cannot load http://localhost:99000/Services.svc/ReturnPersons.Origin null is not allowed by Access-Control-Allow-Origin. Web服务返回数据。 我试图捕捉这样的数据项: var url = "http://localhost:99000/Services.svc/ReturnPersons"; $.getJSON(url, function (data) { success: readData(data) }); function readData(data) { alert(data[0].FirstName); } 我试图得到这个结构: [{"FirstName":"Foo","LastName":"Bar"},{"Hello":"Foo","LastName":"World"}] 你知道为什么我得到这个错误吗?

一个CORS POST请求从普通的javascript工作,但为什么不与jQuery?

我正在尝试创build一个“跨源”发布请求,并且我使用如下简单的Javascript工作: var request = new XMLHttpRequest(); var params = "action=something"; request.open('POST', url, true); request.onreadystatechange = function() {if (request.readyState==4) alert("It worked!");}; request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); request.setRequestHeader("Content-length", params.length); request.setRequestHeader("Connection", "close"); request.send(params); 但我想使用jQuery,但是我无法使它工作。 这就是我想要的: $.ajax(url, { type:"POST", dataType:"json", data:{action:"something"}, success:function(data, textStatus, jqXHR) {alert("success");}, error: function(jqXHR, textStatus, errorThrown) {alert("failure");} }); 这导致失败。 如果有人知道为什么jQuery不起作用,请让我们都知道。 谢谢。 (我使用的是jQuery 1.5.1和Firefox 4.0,而我的服务器正在响应一个正确的Access-Control-Allow-Origin头)

CORS – 引入预检请求的动机是什么?

跨源资源共享是一种允许网页将XMLHttpRequests发送到另一个域(来自维基百科 )的机制,而且这非常重要(来自我:)。 在过去的几天里,我一直在摆弄CORS,我想我对一切工作都有很好的理解。 所以我的问题不是关于CORS /印前检查是如何工作的,而是关于作为新的请求types提出预检的原因 。 我没有看到为什么服务器A需要向服务器B发送预检(PR)以找出是否接受真实请求(RR)的任何理由 – B肯定有可能接受/拒绝RR任何以前的公关。 经过不lesssearch,我在www.w3.org(7.1.5)find了这条信息: 为了保护资源免受源于某些用户代理之前的跨源请求的影响,需要执行预检请求,以确保资源能够识别此规范。 我觉得这是最难理解的句子。 我的解释(应该更好地称之为“最佳猜测”)是关于保护服务器B免受来自服务器C不知道规范的请求的影响。 有人可以解释一个情况/显示一个问题,PR + RR解决比RR更好吗?

与CORS的IE9 jQuery AJAX返回“访问被拒绝”

以下在所有浏览器中工作, 除了IE浏览器 (我正在testing在IE 9)。 jQuery.support.cors = true; … $.ajax( url + "messages/postMessageReadByPersonEmail", { crossDomain: true, data: { messageId : messageId, personEmail : personEmail }, success: function() { alert('marked as read'); }, error: function(a,b,c) { alert('failed'); }, type: 'post' } ); 我有另一个使用dataType: 'jsonp'函数dataType: 'jsonp' ,但我不需要在这个AJAX调用返回任何数据。 我最后的手段是返回一些JSONP包装的乱码,以使其工作。 任何想法,为什么IE浏览器搞砸了CORS请求,没有数据返回?