jquery.get () проблемы с IE8 - PullRequest
       2

jquery.get () проблемы с IE8

1 голос
/ 28 января 2011

Я пытаюсь исправить предполагаемую ошибку в javascript для IE8, и вот шаги, которые я попробовал:

  1. Проверено в chrome / firefox (mac и win), чтобы увидеть, происходит ли это там. результат: это происходит только в IE8

  2. попытался воспроизвести ошибку, следуя инструкциям клиента. Ошибка "появилась" в IE8.

Ошибка: div не отображался, и возникла ошибка javascript. Я посмотрел на ошибку и увидел это:

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727)
Timestamp: Fri, 28 Jan 2011 07:32:46 UTC

Message: Syntax error
Line: 70935353
Char: 1
Code: 0
URI: http://edge.foo.dev:3000/

Message: Syntax error
Line: 70935353
Char: 1
Code: 0
URI: http://edge.foo.dev:3000/

хорошо, не очень помогает, не так ли? Я попытался использовать световой прожектор, чтобы проверить, где может быть проблема, и теперь ошибок нет ... но мой динамический div все еще не отображается.

Я использую jquery - просто вызов ajax и обратный вызов после загрузки данных, который отображает эти данные. Есть ли другой способ точно определить, где именно происходит ошибка? Сейчас я буду добавлять оповещения после каждой строки кода, но это будет утомительно для отладки.

EDIT Я получаю ответ от сервера, и это не ошибка. Это 200 ответ хорошо, так что я думаю, проблема заключается в добавлении / отображении результата? Или во время обратного вызова?

Я предполагаю, что это плагин, который я использую: http://andreaslagerkvist.com/jquery/live-search/

если кто-то не может указать, что я использую в своем коде глючную функцию / логику jquery.

РЕДАКТИРОВАТЬ 2

Хорошо, я проверяю плагин и определяю его следующим образом:

jQuery.get(config.url + q, function (data) {
})

Я получаю данные (в firebug lite и alert также выводит их на печать) НО

liveSearch.html(data); this FAILS
showLiveSearch(); // this just shows the div

по сравнению с этим:

liveSearch.html("<ul><li>blah blah blah</li></ul>"); this SUCCEEDS in showing the div but the error is still there(i can live with that, as long as it shows the results)
showLiveSearch(); // this just shows the div

Я попробовал data.toString (), но он все еще не показывает мне HTML-фрагмент, который сервер отбрасывает назад.

Ответы [ 2 ]

2 голосов
/ 28 января 2011

Часто синтаксическая ошибка вызвана неправильным экранированием цитаты или апострофом в данных, которые вы пытаетесь добавить.Также учтите, что данные, которые вы пытаетесь добавить, могут иметь неработающий HTML, который будет ломаться в IE (ul имеют div вне lis и т.

0 голосов
/ 30 мая 2012

У меня была такая же проблема, и я хотел поделиться для потомков тем, что сработало для меня.Я изменил свой вызов с

$.get("mypage.htm?data1=foo&data2=bar", function(data){alert(data);});

на этот

$.get("mypage.htm", {data1:"foo", data2:"bar"}, function(data){alert(data);});

И IE8 понравилось, отлично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...