jquery post запрос(json ответ)

314
31 августа 2017, 20:01

Доброго всем дня. При клике на ссылку, пытаюсь получить из б.д. запись по id. Для запроса использую Jquery. В моём случае вижу только следующие ответы (Ответ получен/Пришли не те данные). Объясните на примере, какой формат json данных должен возвращать на запрос сервер. Сам код:

function test(par){
 var Rec = $.Deferred();
 var Rec = $.ajax({ 
     type: 'POST',
     url: "test.php",
     data: {'id' : par},
     dataType: "json"
 });
 $.when(Rec).done(function(res) { 
     alert('Ответ получен: ', res);
     if (res.success) {
        alert('ОК!)');
     } else { 
        alert('Пришли не те данные!');
     }
 });

$.when(Rec).fail(function() { 
  alert('Ошибка выполнения запроса!');
});
   }

HTML:

< a href="#" onclick="test('324')">test

Ответ от серва:

   echo '{"id" : "ответ", "name" : "ivan", "old" : "42"}';
Answer 1
echo '{"id" : "ответ", "name" : "ivan", "old" : "42", "success" : "true"}';

У функции window.alert только один параметр. Используйте:

console.log(res);

Сделайте вот так:

$.ajax({ 
  type: 'POST',
  url: "test.php",
  data: {'id' : par},
  dataType: "json",
  success: function(data) {
    console.log("SUCCESS:");
    console.log(data);
  },
  error: function(jqXHR, textStatus, errorThrown) {
    console.log("ERROR: " + textStatus + ", " + errorThrown);
    console.log(jqXHR);
  }
});

а $.when(Rec)... уберите. Что появляется в консоли?

READ ALSO
Появление кнопки по времени видео с Youtube на Jquery

Появление кнопки по времени видео с Youtube на Jquery

Нужно сделать, чтобы на странице, где расположено видео с YoutubeКак сделать, чтобы кнопка появлялась в заданое время от не загрузки страницы...

342
bootstrap 3 datepicker, как сравнить 2 даты

bootstrap 3 datepicker, как сравнить 2 даты

Есть 2 календаря от bootstrap 3, нужно чтобы при выборе 2 дат, было выбрано не меньше 3 дней, при первом старте как вывеси получилось, а вот при изменении...

433
Не срабатывает select

Не срабатывает select

Ребята очень нужна ваша помощь, помогите бедному студенту уже вторый день мучаюсь Передаю массив из PHP в jQuery таком виде:

341