Полезная информация

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.

№129-12-2006 20:29:56

Tearis
Участник
 
Группа: Members
Откуда: Воронеж
Зарегистрирован: 18-12-2005
Сообщений: 115

Отправить данные методом POST с помощью XMLHttpRequest

Нужно из расширения отправить на сервер данные, форма с которыми в HTML выглядела бы так:

Выделить код

Код:

<form method="POST" action="http://mysite.ru/">
  <input type="text" value="20" name="num">
  <input type="hidden" value="qwerty" name="str">
</form>

Текст:

Выделить код

Код:

var req = new XMLHttpRequest();
req.open('POST', 'http://mysite.ru/', true);
var post = "num=" + encodeURIComponent(unescape("20")) + 
               "&str=" + encodeURIComponent(unescape("qwerty"));
req.send(post);

Не помогает.

Отредактировано Tearis (30-12-2006 15:54:22)


Кому ничего не надо, с того нечего и потребовать.
©Генри Филдинг

Отсутствует

 

№230-12-2006 03:55:47

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

Re: Отправить данные методом POST с помощью XMLHttpRequest

Может, добавить хотя бы

Выделить код

Код:

req. setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");

? И Referrer по необходимости ?


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№330-12-2006 23:20:58

Tearis
Участник
 
Группа: Members
Откуда: Воронеж
Зарегистрирован: 18-12-2005
Сообщений: 115

Re: Отправить данные методом POST с помощью XMLHttpRequest

Да, на mozillaZine ответили тоже самое. Спосибо.


Кому ничего не надо, с того нечего и потребовать.
©Генри Филдинг

Отсутствует

 

№413-01-2007 15:43:06

Tearis
Участник
 
Группа: Members
Откуда: Воронеж
Зарегистрирован: 18-12-2005
Сообщений: 115

Re: Отправить данные методом POST с помощью XMLHttpRequest

Еще один вопрос.
encodeURIComponent() кодирует POST данные не так как это делает FF. Я сравнил высылаемую информацию из LiveHttpHeaders с тем что дает функция encodeURIComponent и они отличались (вариант из LHH принимался сервером, в отличии от варианта encodeURIComponent). Мне нужно кодировать строки содержащие русские буквы. Есть ли способ кодировать информацию так же как FF?


Кому ничего не надо, с того нечего и потребовать.
©Генри Филдинг

Отсутствует

 

№513-01-2007 16:53:29

Tearis
Участник
 
Группа: Members
Откуда: Воронеж
Зарегистрирован: 18-12-2005
Сообщений: 115

Re: Отправить данные методом POST с помощью XMLHttpRequest

Вопрос снимается, спасибо Anton'у

Нужно было перекодировать строку:

Выделить код

Код:

var converter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"]
                          .createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
converter.charset = "windows-1251";
str = converter.ConvertFromUnicode(str);

Кому ничего не надо, с того нечего и потребовать.
©Генри Филдинг

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]