Questions tagged «cross-domain»

跨域是指在其托管域/ Web服务器外部进行通信的Web应用程序。这可以是对其他服务器的网络请求,也可以是与由组成同一网页的不同域提供的DOM组件共享数据的形式。

15
Access-Control-Allow-Origin标头如何工作?
显然,我完全误解了它的语义。我想到了这样的事情: 从客户端下载JavaScript代码MyCode.js http://siteA- 起源。 MyCode.js的响应标头包含Access-Control-Allow-Originhttp://siteB:,我认为这意味着MyCode.js被允许对站点B进行跨域引用。 客户端会触发MyCode.js的某些功能,这些功能继而向发出请求http://siteB,尽管是跨域请求,但也应该很好。 好吧,我错了。它根本不像这样工作。因此,我阅读了跨域资源共享,并尝试阅读w3c建议中的跨域资源共享 可以确定的一件事-我仍然不明白我应该如何使用此标头。 我对站点A和站点B都拥有完全控制权。如何使用此标头使从站点A下载的javascript代码能够访问站点B上的资源? 聚苯乙烯 我不想利用JSONP。

30
访问控制允许原始多个域?
有没有一种方法可以使用Access-Control-Allow-Origin标头允许多个跨域? 我知道*,但是它太开放了。我真的只想允许几个域名。 例如,如下所示: Access-Control-Allow-Origin: http://domain1.example, http://domain2.example 我已经尝试了上面的代码,但是它似乎在Firefox中不起作用。 是否可以指定多个域,还是我只能使用一个?


14
jQuery AJAX跨域
这是两个页面,test.php和testserver.php。 test.php <script src="scripts/jq.js" type="text/javascript"></script> <script> $(function() { $.ajax({url:"testserver.php", success:function() { alert("Success"); }, error:function() { alert("Error"); }, dataType:"json", type:"get" } )}) </script> testserver.php <?php $arr = array("element1", "element2", array("element31","element32")); $arr['name'] = "response"; echo json_encode($arr); ?> 现在我的问题是:当这两个文件都在同一服务器上(本地主机或Web服务器)时,它可以工作并被alert("Success")调用;如果它在不同的服务器上,则意味着Web服务器上的testserver.php和localhost上的test.php,它不起作用,并且alert("Error")正在执行。即使ajax内的URL更改为http://domain.com/path/to/file/testserver.php

3
完整性和跨域属性是什么?
Bootstrapcdn最近更改了它们的链接。现在看起来像这样: <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" integrity="sha256-MfvZlkHCEqatNoGiOXveE8FIwMzZg4W85qfrfIFBfYc= sha512-dTfge/zgoMYpP7QbHy4gWMEGsbsdZeCXz7irItjcC3sPUFtf0kuFbDz/ixG7ArTxmDjLXDmezHubeNikyKGVyQ==" crossorigin="anonymous"> 什么做integrity和crossorigin属性是什么意思?它们如何影响样式表的加载?


14
AngularJS对跨域资源执行OPTIONS HTTP请求
我正在尝试将AngularJS设置为与跨域资源进行通信,在该域中,提供我的模板文件的资产宿主位于不同的域上,因此angular执行的XHR请求必须是跨域的。我已将适当的CORS标头添加到服务器上,以进行HTTP请求以使其正常工作,但它似乎不起作用。问题是,当我在浏览器(chrome)中检查HTTP请求时,发送到资产文件的请求是OPTIONS请求(应该是GET请求)。 我不确定这是否是AngularJS中的错误,还是我需要配置某些东西。据我了解,XHR包装器无法发出OPTIONS HTTP请求,因此浏览器似乎在尝试确定是否“允许”在执行GET请求之前先下载资产。如果是这种情况,那么是否还需要为资产宿主设置CORS标头(Access-Control-Allow-Origin:http : //asset.host ..)?

13
跨域Cookie
我在两个不同的域中有两个webapps WebApp1和WebApp2。 我正在HttpResponse中的WebApp1中设置cookie。 如何从WebApp2中的HttpRequest读取相同的cookie? 我知道这听起来很奇怪,因为Cookie是特定于给定域的,并且我们无法从不同域访问它们。但是,我听说过可以在多个Web应用程序之间共享的跨域Cookie。如何使用跨域Cookie来实现此要求? 注意:我正在使用J2EE webapps尝试此操作


26
如何在ASP.net Core WebAPI中启用CORS
我想做什么 我有一个托管在Azure免费计划上的后端ASP.Net Core Web API(源代码:https : //github.com/killerrin/Portfolio-Backend)。 我也有一个客户网站,我想使用该API。客户端应用程序不会托管在Azure上,而是托管在Github Pages或我有权访问的另一个Web托管服务上。因此,域名将无法排列。 考虑到这一点,我需要在Web API端启用CORS,但是我已经尝试了几乎所有内容几个小时,并且它拒绝工作。 我如何进行客户端设置 它只是一个用React.js编写的简单客户端。我正在通过Jquery中的AJAX调用API。React网站可以正常工作,所以我不知道。正如我在尝试1中确认的那样,对Jquery API的调用有效。这是我进行调用的方式 var apiUrl = "http://andrewgodfroyportfolioapi.azurewebsites.net/api/Authentication"; //alert(username + "|" + password + "|" + apiUrl); $.ajax({ url: apiUrl, type: "POST", data: { username: username, password: password }, contentType: "application/json; charset=utf-8", dataType: "json", success: function (response) { var authenticatedUser …

16
从iframe访问父网址
好的,我上有一个页面,在此页面上有一个iframe。我需要做的是在iframe页面上,找出主页的URL。 我已经四处搜寻,而且我知道如果我的iframe页面位于其他域上是不可能的,因为这是跨站点脚本。但是我读过的所有内容都说,如果iframe页面与父页面位于同一域中,那么例如,它应该可以工作: parent.document.location parent.window.document.location parent.window.location parent.document.location.href ...或其他类似的组合,因为似乎有多种获取相同信息的方法。 无论如何,这就是问题所在。我的iframe与主页位于同一域中,但不在同一SUB域中。例如,我有 http:// www.mysite.com/pageA.html 然后我的iframe网址是 http:// qa-www.mysite.com/pageB.html 当我尝试从pageB.html(iframe页面)获取URL时,我不断收到相同的拒绝访问错误。这样看来,即使子域也算作跨站点脚本,这是正确的,还是我做错了什么?


9
htaccess访问控制允许来源
我正在创建一个脚本,该脚本可以从外部加载到其他站点。它可以加载CSS和HTML,并且可以在我自己的服务器上正常工作。 但是,当我在另一个网站上尝试时,它显示此可怕的错误: Access-Control-Allow-Origin 在这里,您可以看到它完美加载:http : //tzook.info/bot/ 但是在另一个网站上却显示错误:http : //cantloseweight.co/robot/ 我将加载脚本上传到jsfiddle:http : //jsfiddle.net/TL5LK/ 我试图像这样编辑htaccess文件: <IfModule mod_headers.c> Header set Access-Control-Allow-Origin * </IfModule> 或像这样: Header set Access-Control-Allow-Origin * 但这仍然行不通。

9
使用AJAX加载跨域端点
我正在尝试使用AJAX加载跨域HTML页面,但除非dataType为“ jsonp”,否则无法获得响应。但是,使用jsonp时,浏览器期望使用脚本mime类型,但接收到“ text / html”。 我的请求代码是: $.ajax({ type: "GET", url: "http://saskatchewan.univ-ubs.fr:8080/SASStoredProcess/do?_username=DARTIES3-2012&_password=P@ssw0rd&_program=%2FUtilisateurs%2FDARTIES3-2012%2FMon+dossier%2Fanalyse_dc&annee=2012&ind=V&_action=execute", dataType: "jsonp", }).success( function( data ) { $( 'div.ajax-field' ).html( data ); }); 有什么方法可以避免对请求使用jsonp吗?我已经尝试使用crossDomain参数,但是没有用。 如果没有,有什么办法可以接收jsonp中的html内容?当前,控制台在jsonp回复中说“意外<”。

12
带有CORS的IE9 jQuery AJAX返回“访问被拒绝”
以下内容适用于IE以外的所有浏览器(我正在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',但不需要此AJAX调用返回的任何数据。我的最后一招是返回包装在JSONP中的一些杂物,以使其工作。 有什么想法为什么IE搞砸了不返回任何数据的CORS请求?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.