Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: POST-запрос AJAX не отправляет данные
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » POST-запрос AJAX не отправляет данные

Страниц (1): [1]
 

1. SindBAD - 19 Февраля, 2009 - 16:51:05 - перейти к сообщению
Всем доброго времени суток!
Есть вот такой код:
CODE (text):
скопировать код в буфер обмена
  1.     function postContent(url,answer) {
  2.      document.getElementById('message').style.display= 'inline';
  3.      document.getElementById('message').innerHTML= 'Ждите.<br>';
  4.      createRequest();
  5.      request.open("POST", url, true);
  6.      request.onreadystatechange = getAnswer;
  7.      request.send("answer="+answer);
  8.   }


Функция createRequest(); при вызове сразу определяет объект request,
и аналогичный get-запрос работает отлично.
Так вот, переменная $_POST['answer'] всегда остается пустой. С помощью alert(answer);
удалось усатновить, что переменная содержит корректные данные; видимо, не срабатывает request.send...
В чем дело, кто подскажет?
2. valenok - 19 Февраля, 2009 - 18:03:31 - перейти к сообщению
поставь livehttpheaders и посмотри что отсылается на сервер.

И заголовоки попробуй добавить

PHP:
скопировать код в буфер обмена
  1.  
  2. createRequest();
  3.  
  4. function postContent(url,answer)
  5.  {
  6. document.getElementById('message').style.display= 'inline';
  7. document.getElementById('message').innerHTML= 'Ждите.<br>';
  8.  
  9. request.open("POST", url, true);
  10.  
  11. var ans = "answer="+answer;
  12.  
  13. request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  14. request.setRequestHeader("Content-length", ans.length);
  15. request.setRequestHeader("Connection", "close");
  16.  
  17. request.onreadystatechange = getAnswer;
  18. request.send(ans);
  19. }
  20.  
3. SindBAD - 19 Февраля, 2009 - 18:53:15 - перейти к сообщению
А как перехватывать заголовки аякса? livehttpheaders у меня показывает только заголовки страницы.
З.Ы. добавление заголовков не помогло

Сорри, нашел как. В списке запросов:
POST /EGadmin/index.php?do=answer&id=1 answer=123

то есть вроде все как надо
4. valenok - 19 Февраля, 2009 - 19:44:23 - перейти к сообщению
print_r($_POST);
5. SindBAD - 19 Февраля, 2009 - 19:59:07 - перейти к сообщению
Пусто. Может, answer - это какое-нибудь зарезервированное слово?
6. CodeWarrior - 21 Февраля, 2009 - 19:17:08 - перейти к сообщению
А через Mootools не пробовали?

 

Powered by ExBB FM 1.0 RC1