我将jQuery与ajax一起使用,它适用于除IE 9或更早版本之外的所有浏览器。 jQuery本身可以工作,但不是ajax调用。我使用以下代码:
HTML:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
JS:
if ($('#page-home').length) {
var $targetDivOffers = $('#results-recent-offers');
var query = {};
query = {
status: 'all',
category: 'all',
limit: 3
};
// first load recent gesuche
query.type = 1;
$targetDivOffers.html('');
$.ajax({
type: "POST",
url: "system/process-get-adverts.php",
data: query,
dataType: 'JSON',
cache: false
}).done(function (html) {
$('.ajax-loader').show().delay(300).promise().done(function () {
$('.ajax-loader').fadeOut().promise().done(function () {
$targetDivOffers.html(html.results);
});
});
}).fail(function (jqxhr, textStatus, error) {
var err = textStatus + ", " + error;
$targetDivOffers.html("Request Failed: " + err);
});
}
我的代码有什么原因导致它无法在IE9或更早版本中运行?
更新
我试图最小化我的代码,以检查我是否正确地集成了jQuery。以下代码仍然无法在IE 9或更低版本中运行:
<!doctype html>
<!--[if lt IE 7]>
<html class="no-js lt-ie9 lt-ie8 lt-ie7" lang=""> <![endif]--> <!--[if IE 7]>
<html class="no-js lt-ie9 lt-ie8" lang=""> <![endif]--> <!--[if IE 8]>
<html class="no-js lt-ie9" lang=""> <![endif]--> <!--[if gt IE 8]><!-->
<html class="no-js" lang=""> <!--<![endif]-->
<head>
<meta title="Test">
</head>
<body>
<p id="test"></p>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="assets/js/jquery-1.11.1.min.js.js"><\/script>')</script>
<script type="text/javascript">
$.ajax({
url: 'http://api.joind.in/v2.1/talks/10889',
data: {
format: 'json'
},
error: function () {
$('#info').html('<p>An error has occurred</p>');
},
dataType: 'jsonp',
success: function (data) {
var $title = $('<h1>').text(data.talks[0].talk_title);
var $description = $('<p>').text(data.talks[0].talk_description);
$('#test')
.append($title)
.append($description);
},
type: 'GET'
});
</script>
</body>
</html>
这段代码有什么问题?
答案 0 :(得分:0)
可能是Jquery没有正确加载。 尝试如下:
<!--[if lt IE 9]>
<script src="jquery-1.9.0.js"></script>
<![endif]-->
<!--[if (gte IE 9) | (!IE)]><!-->
<script src="jquery-2.0.0.js"></script>
<!--<![endif]-->
另一个原因可能是jQuery / IE没有正确地urlencode双引号并在URL(“”)中显示而不是编码双引号(%22)。