0

我想在subdomain使用 jqueryajax()方法时调用 AJAX:我从http://domain.com/调用它

$.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' }

4

2 回答 2

0

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

请在跨域 ajax 上进行搜索,您会发现很多事情要做。

于 2012-07-20T12:01:40.483 回答
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", "*");           
于 2013-02-20T10:18:27.163 回答