AJAX (Общая)

5.09K
.
GRIP
function AjaxFormRequest(result_id,form_id,url) 
  { 
   jQuery.ajax(
   { 
  url:     url, //Адрес подгружаемой страницы 
  type:     "POST", //Тип запроса 
  dataType: "html", //Тип данных 
 data: jQuery("#"+form_id).serialize(),  
 success: function(response) 
 { //Если все нормально 
                    
 document.getElementById(result_id).innerHTML = response;
 document.getElementById(form_id)reset(); 
                    
   }, 
  error: function(response) 
 { //Если ошибка 
 document.getElementById(result_id).innerHTML = "Ошибка при отправке формы"; 
  } 
  }
 ); 
}

 <div id="messages">
</div> 
     <form method="post" action="" id="form_id">
            <input type="text" name="phone" /><br/>
            <input type="button" value="Отправить" onclick="AjaxFormRequest('result_div_id', 'form_id', 'form.php')" />
 </form>
.
(\/)____o_O____(\/)

GRIP, точку забыл поставить

.

Koenig, Все равно не пашет ((

.
adust

подскажите как пользоватся этим кодом? (я в ajax полный 0)
мне нужно чтобы при нажатии кнопки/ссылки скрипту test.php передавался гет запрос с двумя параметрами без перезагрузки страницы.

код который нашел в гугле (+/-)
01var req;
02// Путь к файлу на сервере на который будет отправляться запрос
03var handlerPath = 'xmlhttp.php';
04
05function createRequest() {
06 // Создание объекта XMLHttpRequest отличается для Internet Explorer и других обозревателей, поэтому для совместимости эту операцию приходиться дублировать разными способами
07 if (window.XMLHttpRequest) req = new XMLHttpRequest(); // normal browser
08 else if (window.ActiveXObject) { // IE
09 try {
10 req = new ActiveXObject('Msxml2.XMLHTTP'); // IE разных версий
11 } catch (e){} // может создавать
12 try { // объект по разному
13 req = new ActiveXObject('Microsoft.XMLHTTP');
14 } catch (e){}
15 }
16 return req;
17}
18
19function getData(handlerPath, parameters) {
20 // Создаем запрос
21 req = createRequest();
22 if (req) {
23 // Отправляем запрос методом POST с обязательным указанием файла обработчика (true - асинхронный режим включен)
24 req.open("POST", handlerPath, false);
25 // При использовании объекта XMLHttpRequest с методом POST требуется дополнительно отправлять header
26 req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
27 // Передаем необходимые параметры (несколько параметров разделяются амперсандами)
28 req.send(parameters);
29
30 // Для статуса "OK"
31 if (req.status == 200) {
32 // Получаем ответ функции в виде строки
33 var rData = req.responseText;
34 // Проверяем данные с помощью регулярных выражений, после выполняем функцию eval()
35 var eData = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(rData.replace(/"(\\.|[^"\\])*"/g, ''))) && eval('(' + rData + ')');
36 // Создаем массив данных
37 var eArray = new Object(eData);
38 } else {
39 alert("Не удалось получить данные:\n" + req.statusText);
40 }
41 } else {
42 alert("Браузер не поддерживает AJAX");
43 }
44 return eArray;
45}
46
47[...]
48
49// вызов функции AJAX запроса
50getData(handlerPath,'строка с параметрами, например (giveProducts="15")')
.
Люди берегите воду - пейте пиво...

adust, Хороший код , черт ногу сломит....

.
# venom (14.02.2014 / 18:50)
adust, Хороший код , черт ногу сломит....
не подскажешь линк, где есть норм код?
.
venom
Люди берегите воду - пейте пиво...

adust, А почему не взять jquery, и вообще что это будет ?

.
# venom (14.02.2014 / 19:59)
adust, А почему не взять jquery, и вообще что это будет ?
если jquery в джоновской шапке подключить сайт глючить не будет?
например те же лайки как во вконтакте, и хочу сделать чтоб можно было писать сообщения в почте без перезагрузки страницы.
.
Люди берегите воду - пейте пиво...

adust, В твоем случаи лучше забыть об этом , или нанять кодера...

.
# venom (14.02.2014 / 20:15)
adust, В твоем случаи лучше забыть об этом , или нанять кодера...
я лучше перечитаю кучу документации по ajax,jquery и сделаю сам, это намного интереснее чем забыть или нанимать кодера))))))
подскажи тогда что мне нужно jquery или jquery mobile?
Всего: 115