2009-10-26 2 views
0

может кто-нибудь взгляд, как этот JQuery код, я пытаюсь сделать плагин AjaxJquery не работает в IE

<script type="text/javascript"> 
$(document).ready(function() { 
$('#letter-a a').click(function() { 
    $('#dictionary').load('a.php') ; 
    return false; 
    }); 
}); 

В основном это не будет работать в IE, В FF и Safari она работает идеально.

+1

какая версия IE? – Matt

+1

также определить «не сработает» - не происходит ли событие клика? загружает ли load() загрузку? это дает ошибку? – Matt

+2

Было бы проще, если бы люди помогли, если бы вместо того, чтобы просто сказать нам, что это «в принципе», вы бы точно описали, что он делает, и то, что вы узнали, при любых попытках отладки проблемы. – Pointy

ответ

2

Просто дикая догадка, потому что недостаточно информации. IE в целом более строгий с типом контента Ajax загруженного html. Убедитесь, что a.php фактически возвращает text/html.

Кроме того, если вы строите фреймворк, было бы лучше использовать более мощный метод $ .ajax. В частности, он позволяет зарегистрировать обратный вызов в случае ошибки. Это может быть удобно в вашей ситуации.

+0

+1 - точка в ответе –

+0

обработчик ошибок Я использую для отладки ошибок с $ .ajax. Сделайте div на своей странице с id = "debug". error: function (xhr) {alert ('Запрос обработки ошибок'); $ ('# debug'). Html (xhr.responseText); }, –

0

1, я думаю, что это проблема загрузки тех же DIV рекурсивно в себя? Вы загружаете в #dictionary .., но внешний div из возвращаемого кода является #dictionary, проверьте это

2, я также попытался бы поместить вашу ссылку как a href = "javascript: void (0)" и удалить возвращение ложного ..

3, Может быть, это и то, что a.php возвращает полную страницу с <html> тегом, a.php нужно только вернуть часть HTML

-Проверьте HTML/XHTML, удивительно, как это может повлиять на поведение

Thank