Преобразование многих значений GET в функциональность AJAX - PullRequest
0 голосов
/ 23 августа 2011

Я построил календарь в php. В настоящее время он может контролироваться значениями GET из URL. Теперь я хочу, чтобы календарь управлялся и отображался с использованием AJAX. Так что страницу не нужно перезагружать.

Как мне сделать это лучше всего с AJAX? Точнее, мне интересно, как мне поступить со всеми значениями GET? Их немало. Единственное решение, которое я узнаю, состоит в том, что каждая ссылка в календаре должна иметь оператор onclick для множества атрибутов (атрибутов GET)? Чувствуется, что неправильно.

Пожалуйста, помогите мне.

Редактировать: Как изменить этот код, чтобы он работал?

$('a.cal_update').bind("click", function ()
{
event.preventDefault();
update_url = $(this).attr("href");
    $.ajax({
          type      : "GET"
        , dataType  : 'json'
        , url       : update_url
        , async     : false
        , success   : function(data)
                      {
                      $('#calendar').html(data.html);
                      }
    });
return false;
}); 

Ответы [ 2 ]

3 голосов
/ 23 августа 2011
  1. Сохраните существующие ссылки и формы, опирайтесь на то, что работает
  2. У вас есть существующие представления данных. Сохраняйте те же данные, но добавляйте дополнительные представления, которые предоставляют их в чистом формате данных (например, JSON) вместо формата документа (например, HTML). Добавьте параметр строки запроса или HTTP-заголовок, который вы используете, чтобы решить, какое представление вернуть.
  3. Используйте библиотеку (например, YUI 3, jQuery и т. Д.), Чтобы привязать обработчики событий к существующим ссылкам и формам, чтобы переопределить обычную функциональность активации и заменить ее вызовом Ajax в альтернативном представлении.
  4. Используйте pushState , чтобы сохранить URL-адреса в закладках.
0 голосов
/ 23 августа 2011

Вы можете вернуть JSON строку с сервера и обработать ее с помощью Ajax на стороне клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...