Нужно из расширения отправить на сервер данные, форма с которыми в 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);

Не помогает.

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

Выделить код

Код:

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

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

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

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

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

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

Выделить код

Код:

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