jQuery: учимся передавать данные на сервер при помощи $.post.() и $.get()
Просмотров: 188
|
Блог от kubik-rubik
jQuery: учимся передавать данные на сервер при помощи $.post.() и $.get() Сегодня я хочу научить вас POST'ить (передавать) данные на сервер. Вы спросите: "А что это такое и для чего это вообще нужно?" При помощи post-запроосов можно например, добавить материал на сервер (сайт), отправить ЛС, добавить сообщение в мини-чат....что ещё....повысить репутацию, подарить подарок и т.п, И всё это без iframe'ов!
Начнём с примера. Code <form method="post"> <input type="hidden" name="a" value="2" /> <input type="hidden" name="jkd428" value="1" /> <input type="hidden" name="jkd498" value="1" /> <input type="text" name="cat" /> <input type="text" name="title" /> <textarea name="brief" cols="15" rows="5"></textarea> <input type="text" name="other1" /> <input type="submit" value="Добавить" /> <input type="hidden" name="ssid" value="123456789" /> </form> Составим post-запрос для того, чтобы отправить данные на сервер
Code $.get('/news/0-0-0-0-1', function(data){ var sesid = $('input[name="ssid"]', data).val(); $.post('/news/', { a: '2', jkd428: '1', jkd498: '1', cat: '1', title: 'Название материала', brief: 'Описание материала', other1: 'Доп. поле 1', ssid: sesid }, function(){alert('Материал добавлен!')}); }); В этом месте Code a: '2', jkd428: '1', jkd498: '1', cat: '1', title: 'Название материала', brief: 'Описание материала', other1: 'Доп. поле 1', ssid: sesid мы указываем значения для полей. Отдельно хочется поговорить об этой Code <input type="hidden" name="ssid" value="123456789" /> этой Code $.get('/news/0-0-0-0-1', function(data){ var sesid = $('input[name="ssid"]', data).val(); и этой строчке Code ssid: sesid Число 123456789 меняется при каждом обновлении страницы. Оно может быть таким: 14576734257 и таким: 57663845648 и т.д. Нам необходимо получить его. Делаем мы это при помощи get-запроса: Code $.get('/news/0-0-0-0-1', function(data){ var sesid = $('input[name="ssid"]', data).val(); Но бывают и модули, в которых не нужно указывать ssid (id сессии). Например мини-чат и Личные Сообщения. Такс....что ещё?....а, ну да! Значение поля Code <input type="hidden" name="a" value="2" /> у каждого модуля разное. Его вы можете посмотреть тут Теперь быстренько пробежимся по тому, что мы изучили: Code $.get('/news/0-0-0-0-1', function(data){ var sesid = $('input[name="ssid"]', data).val(); // Получаем id сессии. $.post('/news/', { // Куда постим данные (в данном случае в "Новости Сайта"). a: '2', // Указываем значения для поля "a". jkd498: '1', // Указываем значения для поля "jkd498". jkd428: '1', // Указываем значения для поля "jkd428". cat: '1', // Указываем значение для поля "cat" (это id категории). title: 'Название материала', // Указываем значения для поля "title". brief: 'Описание материала', // Указываем значения для поля "brief". other1: 'Доп. поле 1', // Указываем значения для поля "other1". ssid: sesid // Указываем значения для поля "ssid". }, function(){alert('Материал добавлен!')}); // Что будет происходить после добавления материала }); в данном случае выскочит окошко с текстом "Материал добавлен!". Ну вот и всё! |