Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jQuery getJSON на 1.3.1 работает, а на 1.6.1 и выше нет (https://javascript.ru/forum/jquery/26640-jquery-getjson-na-1-3-1-rabotaet-na-1-6-1-i-vyshe-net.html)

mistbow 16.03.2012 10:27

jQuery getJSON на 1.3.1 работает, а на 1.6.1 и выше нет
 
Есть пример "Каскад выпадающих списков" Cascade Select:
http://www.linkexchanger.su/2009/82.html или http://www.proger.in.ua/index.php?showtopic=4137

так вот у меня на версии 1.3.1 все идеально работает, а при переходи на версию 1.6.1 или 1.7.1 getJSON данные больше не получаются. Т.е. даже не срабатывает функция по событию success: function(data)
Если посмотреть отладчиком, то видно, что данные поступают, но при обработке или парсинге json похоже возникает ошибка - толи данные не корректны получаются, толи с заголовками что-то не то...
У меня мысли иссякли... профессионалы помогите плиз!

mistbow 16.03.2012 12:29

Все вопрос снят!

1.Приходит некорректный JSON!

В файлах cascadeSelectAuto.php и cascadeSelectModel.php добавить кавычек...
есть:
[{value:"",text:"Выбрать автомобиль"},{value:"1",text:"Audi"},{value:"2",text:"BMW"},{value:"3",text:"Opel"}]

должен быть:
[{"value":"","text":"Выбрать автомобиль"},{"value":"1","text":"Audi"},{"value":"2","text":"BMW"},{"value":"3","text":"Opel"}]


2.Желательно изменить заголовок
Код:

'Content-Type: text/html; charset=utf-8'
на
Код:

'Content-Type: application/json; charset=utf-8'
3. Изменить в файле cascadeSelect.html
Код:

tmpSelect.fillSelect(data).attr('disabled','');
на
Код:

tmpSelect.fillSelect(data).attr('disabled',false);

devote 16.03.2012 12:47

tmpSelect.fillSelect(data).attr('disabled','');

на
tmpSelect.fillSelect(data).removeAttr('disabled');

mistbow 16.03.2012 13:24

Кстати, хороший сайт по проверке валидности JSON
http://jsonlint.com/


Часовой пояс GMT +3, время: 18:01.