2012-07-20 60 views
0

我想使用jQuery ajax()方法来调用AJAX的subdomain: 我把它从http://domain.com/跨域AJAX问心无愧的jQuery

$.ajax({ 
    crossDomain: true, 
    url:'https://sub.domain.com/', 
    success: function(response) { 
     alert('ok'); 
    }, 
    error: function(resp) { 
     console.log(resp); 
    } 
}); 

但它不工作,要求误差resp == { status:0, readyState: 0, responseText : '', statusText: 'error' }

回答

0

子功能域的Ajax调用也是跨域的。如果他们指向同一个地方(例如example.com和www.example.com),这也是如此。他们(通常)指向同一个地方。我们将它们视为同一件事。但对于Ajax调用,它被认为是跨域。

请在crossdomain ajax上搜索,你会发现一个洛特继续。

0

您可以使用CORS来达到此目的。

示例代码:

jQuery.support.cors = true; 

function CrosDom_ajax(url) { 
     if (window.XDomainRequest 
     && $.browser.msie 
     && $.browser.version < 10) { 
     xdr = new XDomainRequest(); 
     if (xdr) { 
      xdr.onload = function() { 
       alert(xdr.responseText); 

      }; 
      xdr.open("get", url); 
      xdr.send(); 
     } 
     } 
     else { 
      $.ajax({ 
       url: url, 
       success: function (response) { 


       }, 
       error: function (data) { 
       } 
      }); 
     } 
    } 

你也需要写在服务器端下面的代码,允许跨域访问

Response.AppendHeader("Access-Control-Allow-Origin", "*");