Thursday, November 24, 2011

Замітка по ajax і jquery

Так приблизно виглядає запит ajax для спілкування js із сервером на якому у вас працює скоріш за все php.
 $.ajax({
      url: "необхідні урл",
      data: (необхідні дані),
      success: function(data){
                   обробляємо успішну відповідь
      },
      error: function(msg){
                  обробляємо помилку що виникла
      },
      dataType: "необхідний тип даних",
      type: "МЕТОД ПЕРЕДАЧІ",
});


По заголовку ($.ajax ) зрозуміло що використовується jquery. Про сам ajax і про той же jquery і про них разом можна багато чого почитати користуючись гуглом).
Я хотів тільки привернути увагу до обробки відповідей від сервера, а саме якщо ви використовуєте передачу даних в форматі JSON який вказується в dataType, то не потрібно сподіватись що дані повернуться в якомусь іншому форматі). Записати дані форми найпростіше так: $("#form_name").serialize(). Отримані дані поміщаються в змінну data що передається в функцію в якості аргумента, щоб побачити ці дані вам не вистачить написати alert(data) так як це виведе тільки [object Object] чи щось в тому дусі, отже пишемо alert(JSON.stringify(data)) що і виведе нам всю структуру json об'єкта, що прийшов із сервера. При невдалому опрацюванні запиту буде викликатись функція з error, а в якості аргумента буде передаватись відповідь, та вона на відміну від попереднього випадку не змінюється від типу передачі, і дані з неї можна отримати написавши так: alert(msg.responseText).
І того маємо наступне:
$.ajax({
      url: "mysite.com/mypage",
      data: ($("#form_name").serialize()),
      success: function(data){
                   alert(JSON.stringify(data));
      },
      error: function(msg){
                  alert(msg.responseText);
      },
      dataType: "JSON",
      type: "POST",
});


А ось лінк по даній темі): api.jquery.com/jQuery.ajax

No comments:

Post a Comment

 
 
Blogger Templates