Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.08.2013, 22:55   #1
Phantom
Пользователь
 
Аватар для Phantom
 
Регистрация: 08.06.2007
Сообщений: 59
По умолчанию $.ajax возвращает ошибку при чтении json

Уважаемые коллеги, прошу содействия в разрешении задачи.

Следующий скрипт постоянно возвращает ошибку, чтобы я не делал.
Сам JSON я проверял, он валиден или может я чего не понимаю.

$.ajax({
dataType: 'json',
error: function(){alert('ошибка')},
url: 'http://transportgid.upfactor.ru/api/?m=userLogin&phone=123&password=123 ',
success: function(data){
$.each(data, function(i,item){

});
}
});
Кто знал, тот знал точно. Кто не любит свет, тот и живет ночью.
Phantom вне форума Ответить с цитированием
Старый 07.08.2013, 23:25   #2
SL1M_DOGG
Пользователь
 
Регистрация: 08.06.2009
Сообщений: 96
По умолчанию

Какая ошибка и куда отправляете?
SL1M_DOGG вне форума Ответить с цитированием
Старый 07.08.2013, 23:32   #3
Phantom
Пользователь
 
Аватар для Phantom
 
Регистрация: 08.06.2007
Сообщений: 59
По умолчанию

Отрабатывает error: function(){alert('ошибка')},

Вторую часть вопроса не понял, в примере кода вроде указан адрес. Он реальный.

Да и на всякий случай хочу упомянуть... что запрос отправляется с другого домена.
Кто знал, тот знал точно. Кто не любит свет, тот и живет ночью.
Phantom вне форума Ответить с цитированием
Старый 07.08.2013, 23:47   #4
Phantom
Пользователь
 
Аватар для Phantom
 
Регистрация: 08.06.2007
Сообщений: 59
По умолчанию

Разобрался, необходимо использовать jsonp для обращения на иной сервер.

Но проблема опять не решилась. Возвращает ошибку парсинга. Что меня крайне смущает. JSON ведь верный
Кто знал, тот знал точно. Кто не любит свет, тот и живет ночью.
Phantom вне форума Ответить с цитированием
Старый 08.08.2013, 00:40   #5
Phantom
Пользователь
 
Аватар для Phantom
 
Регистрация: 08.06.2007
Сообщений: 59
По умолчанию

Код:
$.ajax({
  type: "POST",
  dataType: 'jsonp',
  error: function (XMLHttpRequest, textStatus, errorThrown) {alert('Ошибка');},	
  jsonp: false,
  jsonpCallback: "test",
  url: 'http://transportgid.upfactor.ru/api/?m=userLogin&phone=123&password=123&callback=?', 
  success: function(data){  
     $.each(data, function(i,item){

     });
  }
});

В общем, для того чтобы проблема была решена, необходимо сделать ряд правок:
1. Добавляем опции ajax
jsonp: false,
jsonpCallback: "test", //Название функции обратного вызова в которую завернут JSON

2. Добавляем в хвост URL значение "callback=?"

3. Сам JSON на сервере оборачиваем в функцию обратного вызова
test({"result":"error","content":[{"id":"301","description":"phone "}]});


Вот и все будет работать... Надеюсь что мои изыскания еще кому-нибудь помогут.
Кто знал, тот знал точно. Кто не любит свет, тот и живет ночью.
Phantom вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VirtualAllocEx возвращает ошибку 87 (неправильный параметр) calypso Win Api 7 26.02.2013 22:51
JQuery + Json+ Ajax maomam JavaScript, Ajax 0 02.12.2012 22:32
выдает ошибку при чтении файлов MetR Общие вопросы Delphi 13 28.11.2010 00:15
HttpWebResponse: вервер возвращает 500 ошибку Manonia Общие вопросы .NET 0 24.07.2010 08:07
idHTTP при нерабочем сайте возвращает ошибку Yuran Работа с сетью в Delphi 5 26.05.2008 14:37