jQuery, динамические селекты + Json (ajax) = баги в ИЕ и опере. Помогите разобраться

V
На сайте с 06.02.2005
Offline
27
3847

Сразу скажу с Ajax'ом знаком весьма недавно, вчера решил освоить фреймворк jQuery, ибо стало нужно сделать на одном проектике несколько фич.

На данный момент есть код который через Json запрашивает данные на сервере и генерит полученные данные в options'ы заданного select. Но вот незадача, все прекрасно работает в Firefox'e 2, и совсем не работает в Explorer 6 и Opera 9.

Кодировку в utf-8 c заголовками в рнр скрипте ставить пробовал, не помогло.

Помогите разобраться в чем тычка.

java script:

var path = '/ajax/get_related_structure.php';// путь до вызываемого скрипта

var element_name = 'lvl'; // базовое имя элементов

// Запускаем инициализацию всех обработчиков после загрузки

$(document).ready(function(){

var num = 1;

var pid = 0;

var count = 0;

$.getJSON(path+"?id=" + pid,

function(data)

{

$.each(data.items, function(i,item)

{

$("<option>").attr("value", item.id).text(item.name).appendTo("#"+element_name+num);

});

});

});

Html код:

<select name="lvl1_id" id="lvl1" style="width: 150px"></select>

Вот ссылки на работающие примеры моего кода:

http://www.smailer.ru/totalrating/test_ajax.html

http://www.smailer.ru/totalrating/test_ajax2.html

Ссылка на выдачу РНР скрипта

В примерах в полях встречаются знаки вопроса, собственно сорри было лень с кодировкой БД разбираться (отдается все в utf-8 а залил в cp1251).

Блин и еще я не понимаю в чем может быть дело. Для тестов сделал страницу с одним широко распространненым примером JSON запроса и выборки фоток вот с этой выдачи

http://api.flickr.com/services/feed...;jsoncallback=?.

Положил вот сюда: http://www.smailer.ru/totalrating/test_ajax3.html.

Так вот, все равно мой пример не срабатывает в ИЕ, в мозиле все гуд. Пробовал в своем пример происать обращение по вышеприведенному адресу и вывести сурсы картинок, все гуд.

Header'ы прописал у своего скрипта такие же как и те которые выдает корректный пример, кодировку поставил utf-8 точно.

Адрес обращения просто в кавычках задавать пробовал.

Что еще может сработать? В чем может быть загвоздка?

Неужели никто не сталкивался???

S
На сайте с 15.07.2008
Offline
139
#1

Тэги body и html религия запрещает закрывать?

V
На сайте с 06.02.2005
Offline
27
#2

Я конечно благодарен за наблюдательность. Но дело точно не в этом.

А вообще батенька Вы хам 😡

[Удален]
#3

говнокод, читайте как работают на jquery, поучите классовую модель яваскрипта + ну и мат часть аджакса, да и вопросы поправьте, уважайте тех, кто вам помогает!!!

S
На сайте с 15.07.2008
Offline
139
#4
bearman:
говнокод, читайте как работают на jquery, поучите классовую модель яваскрипта + ну и мат часть аджакса, да и вопросы поправьте, уважайте тех, кто вам помогает!!!

Если бы он уважал и таки прислушивался к тому, что ему говорят, дальше я бы таки рассказал, что у него в заголовке стоит кодировка UTF-8, а все комментарии в скрипте написаны в windows-1251 и последний комментарий "// Запускаем инициализацию всех обработчиков после загрузки" IE и его клон Opera именно из-за проблем с коллизией кодировок смешивает со строкой "$(document).ready(function(){" и считаем сие единым комментарием и соответственной вылазят проблемы с синтаксисом. И всё это можно за 3 минуты разгрести использую дебаггер Visual Studio. Кроме того, я бы ещё подсказал, что делать для создания JSON-структуры с использованием не ISO-8859-1 строк, что в дальнейшем 100% понадобится. Но так как студенты у нас нынче пошли с гонором и вместо того, чтобы начать причёсывать свой гавна-код с элементарных ошибок и изучение Яваскрипта сразу начинают с копирования примеров по Аяксу, то они могут идти лесом...

V
На сайте с 06.02.2005
Offline
27
#5

1. В общем то я сразу сказал что разбираться в этом всем тока начал.

2. Гонор... Я считаю просто неуместной форму общения выбранную уважаемым "Santyago" =) особенно про религию. Поэтому вопрос гонора весьма относительный, крайне не люблю некорректно выбранный тон для какого бы то ни было разговора.

3. "bearman" - а Вы уважаемый сразу начали писать все чистенько и без помарочек. Я попросил помощи и совета в возникшей проблеме. А код такой какой сумел осилить после 1-го дня втыкания в предмет изучения и на некторые моменты в чистоте кода я просто не обращал внимания, тем более что во многих других шаблонах и вариациях где я пытался заставить конструкцию работать все было корректно в плане кода. Ваше высказывание про ****код считаю опять же неуместным для коструктивного разговора.

4. "Santyago" - я очень уважаю других людей ровно до тех пор пока те не пытаются кого-бы то ни было унизить или уязвить в весьма некорректной форме.

А за подсказку куда копать весьма признателен, потыкаюсь в этом направлении. Подозревал что что-то не работает из-за кодировок, но не догодался подумать именно в этом направлении.

[Удален]
#6

много гонора для новичка. в любом случае удачи.

ну и почему новички сразу лезут в jquery + ajax, не понимаю :-D

V
На сайте с 06.02.2005
Offline
27
#7
bearman:
много гонора для новичка. в любом случае удачи.
ну и почему новички сразу лезут в jquery + ajax, не понимаю :-D

Новичок именно в Ajax состовляющей, а на РНР я уже года 4 как плотняком сижу, HTML 5лет, JavaScript изредка ибо редко надо, а тут приперло и надо и хочу знать.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий