parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

потеря тела POST запрсов при обращении через JS (jQuery)

Edzo Hogusava 20.11.2008 01:36 / 20.11.2008 01:36

Сабмитил формы аяксом, и обнаружил странную "особенность" то-ли парсера, то-ли FireFox (скорее второе).
При jQuery POST запросах к парсеровским файлам под Фаерфоксом (тестил FF2 и FF3 с Firebug и без оного)
до парсера содержимое POST зпроса не доходит. Сначала грешил на парсер, но потом обнаружил что те же запросы из под других браузеров (Chrome, Opera) доходят на ура.

Вот запросы:
$.ajax({
  type: "POST",
  url: "",
  data: {'xmlAction': "uploadTheFile", 'message': "2pm" },
  success: function(msg){
    alert( "Data Saved: " + msg );
  }
});
и вот содержимое /dif/xml-echo.html :
@main[]
$h[$form:fields]
$dump[Dump: ^h.foreach[key;value]{ $key = $value }[ ||] ]
$errMessage[<recode>4120</recode><explain>
=$env:REQUEST_METHOD=
=^if($form:fields){1}{0}==$env:CONTENT_LENGTH=
=^taint[$request:body]=-- $form:nameless --$dump -^h._count[]-$form:xmlAction</explain>]
$response:content-type[	$.value[text/xml] $.charset[$response:charset] ]
$result[<?xml version="1.0" encoding="$request:charset"?><answer>$errMessage</answer>]
Если запрос через FireFox, то $env:CONTENT_LENGTH= 0 , но $request:body содержит тело пост-запроса.
Через Opera 9.* Chrome, $env:CONTENT_LENGTH=231 , и $form:xmlAction доходит прекрасно...

Еще интересное, что запрос из jQuery к php скрипту доходит хорошо во всех браузерах...

Странная, право, штуковина. Никто не встречался с таким? Где тут косяк: у фокса или меня?