Tag: 跨域

Chrome中的AJAX发送OPTIONS而不是GET / POST / PUT / DELETE?

我正在工作的内部Web应用程序。 在IE10中的请求工作正常,但在Chrome中,所有的AJAX请求(有很多)使用OPTIONS发送,而不是我给定的任何定义的方法。 技术上我的要求是“跨​​域”。 该网站在localhost:6120服务,我正在做的AJAX请求服务是在57124. 这个closures的jQuery的bug定义的问题,但不是一个真正的修复。 我能做些什么来在ajax请求中使用正确的http方法? 编辑: 这是在每个页面的文件加载: jQuery.support.cors = true; 而且每个AJAX都是类似的构build的: var url = 'http://localhost:57124/My/Rest/Call'; $.ajax({ url: url, dataType: "json", data: json, async: true, cache: false, timeout: 30000, headers: { "x-li-format": "json", "X-UserName": userName }, success: function (data) { // my success stuff }, error: function (request, status, error) { // my error stuff […]

与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请求,没有数据返回?

跨子域的PHP会话

我正在尝试设置以下内容: auth.domain.com sub1.domain.com sub2.domain.com 如果用户访问sub1.domain.com或sub2.domain.com并且他们没有login,他们将被推送到auth.domain.com并且可以login。sub1.domain.com和sub2.domain.com是两个单独的应用程序,但使用相同的凭据 我尝试在我的php.ini中设置以下内容: session.cookie_domain = ".domain.com" 但它似乎并没有将信息从一个域传递给另一个域。 [编辑] 我尝试了以下内容: sub1.domain.com/test.php session_set_cookie_params(0, '/', '.domain.com'); session_start(); print session_id() . "<br>"; $_SESSION['Regsitered'] = 1; echo '<a href="http://auth.domain.com/test.php">Change Sites</a>' auth.domain.com/test.php session_set_cookie_params(0, '/', '.domain.com'); session_start(); print session_id() . "<br>"; $_SESSION['Checked'] = 1; print_r($_SESSION); 会话ID是完全相同的,但是当我转储$ _SESSIONvariables时,它不显示两个键,只要在每个域下设置的任何键。 [编辑2] 我更新了[编辑]

AngularJS为一个跨源资源执行一个OPTIONS HTTP请求

我正在尝试设置AngularJS与交付我的模板文件的资产主机位于不同域的跨源资源进行通信,因此angular度执行的XHR请求必须跨域。 我已经添加了适当的CORS头到我的服务器的HTTP请求,使其工作,但它似乎并没有工作。 问题是,当我检查我的浏览器(铬)HTTP请求发送到资产文件的请求是一个OPTIONS请求(它应该是一个GET请求)。 我不确定这是否是AngularJS中的错误,或者是否需要configuration。 从我所了解的XHR包装器不能做一个OPTIONS HTTP请求,所以它看起来像浏览器试图找出是否“允许”下载资产之前执行GET请求。 如果是这种情况,那么是否需要使用资产主机设置CORS头(Access-Control-Allow-Origin: http : //asset.host .. )?

访问控制允许来源多个来源域?

有没有办法使用Access-Control-Allow-Origin头允许多个跨域? 我知道*,但它太开放了。 我真的想只允许几个域名。 举个例子,像这样的: Access-Control-Allow-Origin: http://domain1.com, http://domain2.com 我已经尝试了上面的代码,但似乎并没有在Firefox中工作。 是否可以指定多个域名,还是我坚持一个?

使用jQuery AJAX加载跨域端点

我试图加载使用AJAX的跨域HTML页面,但除非数据types是“jsonp”我无法得到响应。 然而,使用jsonp浏览器期待脚本MIMEtypes,但接收“文本/ 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回复中说“unexpected”。

Access-Control-Allow-Origin不允许来源

我在Sencha Touch 2应用程序(包装在PhoneGap中 )中向远程PHP服务器发送Ajax.request 。 来自服务器的响应如下: XMLHttpRequest无法加载http://nqatalog.negroesquisso.pt/login.php 。 Access-Control-Allow-Origin不允许源http://localhost:8888 。 我该如何解决这个问题?

如何通过JavaScript发送跨域POST请求?

如何通过JavaScript发送跨域POST请求? 注意 – 它不应该刷新页面,我需要抓住并parsing响应。 一些代码示例的帮助将非常感谢。

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

为什么canvas.toDataURL()抛出安全异常?

我没有得到足够的睡眠或什么? 这下面的代码 var frame=document.getElementById("viewer"); frame.width=100; frame.height=100; var ctx=frame.getContext("2d"); var img=new Image(); img.src="http://www.ansearch.comhttp://img.dovov.cominterface/item/small/image.png" img.onload=function() { // draw image ctx.drawImage(img, 0, 0) // Here's where the error happens: window.open(frame.toDataURL("image/png")); } 抛出这个错误: SECURITY_ERR: DOM Exception 18 没有办法,这不应该工作! 有谁能解释这个吗?