【发布时间】:2013-10-19 19:05:58
【问题描述】:
我正在尝试修改一些在 IE8 中出现问题的现有代码。根据我在网上阅读的内容,这是涉及 XDomainRequest 和 XMLHttpRequest 的常见问题。
我以前没有以这种方式使用过 AJAX,所以我完全不知道该怎么做。代码如下:(我已将括号“[[”和“]]”中的敏感信息替换为任意变量名,以识别每个变量的使用位置):
jQuery(document).ready(function() {
var base_url = '[[BASE_URL_1]]'; // DTRT for ajax requests (CORS over HTTP by default)
if (document.location.protocol == "https:") {
base_url = '[[BASE_URL_2]]'; // The proxy script that lets us do secure cross-domain AJAX requests
}
var classSpec = '$class_spec';
$('#[[ID_1]]').empty().addClass('loading'); // loading gif
$('#[[ID_2]]').empty().addClass('loading');
$.ajax( {
type: "GET",
url: base_url + '[[URL_1]]' + classSpec + '[[URL_2]]',
success: function (data) { $('[[ID_2]]').html(data).removeClass('loading'); }
} );
$.ajax( {
type: "GET",
url: base_url + '[[URL_1]' + classSpec + '[[URL_3]]',
success: function (data) { $('[[ID+1]]').html(data).removeClass('loading'); initialize(); }
} );
});
如何修改此代码以包含对 IE8 的支持?
【问题讨论】:
-
您是否在与之交谈的服务器上添加了正确的 Access-Control-Allow-Origin 标头?必须在其他服务器上明确允许 XDR。
-
@Robert 感谢您的指点。我不确定,因为我完全是这类问题的新手。我意识到在解决问题之前我需要掌握很多东西。我将尝试查明服务器标头,看看我能从那里找出什么。
-
@Robert Perl 控制器包含以下行:
$c->response->header("Access-Control-Allow-Origin" => $server);
标签: jquery ajax internet-explorer-8 cors crossdomain-request.js