Сообщение HTTP в iMacros с Javascript для Firefox

Я делал сценарий автоматизации для извлечения некоторой информации с веб-сайта, и важно отправить некоторую информацию с помощью метода POST. Может ли кто-нибудь сказать мне, как использовать метод HTTP Post с плагином Imacro и javascript для firefox. Ниже приведен скрипт, который я нашел здесь: Отправка HTTP-сообщения с использованием запуска Javascript событие Но это дает мне ошибку, когда я играю то же самое с помощью проигрывателя Imacro.

var url = "http://www.google.com/";
var method = "POST";
var postData = "Some data";
var async = true;

var request = new XMLHttpRequest();
request.onload = function () {
var status = request.status; // HTTP response status, e.g., 200 for "200 OK"
var data = request.responseText; // Returned data, e.g., an HTML document.
}

request.open(method, url, async);

request.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
request.send(postData);

person Vikash Rathee    schedule 25.11.2013    source источник
comment
У тебя там больше комментариев, чем кода О_о   -  person tckmn    schedule 25.11.2013
comment
Очищено. Также, когда я запускаю этот код, он говорит: XMLHttpRequest не определен.   -  person Vikash Rathee    schedule 25.11.2013
comment
Где вы его запускаете? Какой браузер?   -  person tckmn    schedule 25.11.2013
comment
Firefox.25.0 и Imacro ВЕРСИЯ СБОРКА=8601111 ЗАПИСЫВАТЕЛЬ=FX   -  person Vikash Rathee    schedule 25.11.2013


Ответы (2)


XMLHttpRequest() больше не поддерживается в Firefox 15+

Вы должны определить это:

const XMLHttpRequest = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1");
var request = XMLHttpRequest();
person Poker Joker    schedule 21.02.2014

Чтобы запустить JavaScript в iMacros, вы можете использовать этот метод.

URL GOTO=javascript:window.ScrollTo(0,150);

Попробуйте этот метод.

В вашем случае это будет выглядеть так.

URL GOTO=javascript:var url = "http://www.google.com/";var method = "POST";var postData = "Some data";var async = true;var request = new XMLHttpRequest();request.onload = function () var status = request.status; var data = request.responseText; request.open(method, url, async);request.setRequestHeader("Content-Type", "application/json;charset=UTF-8");request.send(postData);
person macroscripts    schedule 26.11.2013
comment
Спасибо, IceD, но не могли бы вы немного уточнить реальный код, пожалуйста. - person Vikash Rathee; 27.11.2013
comment
Ну вот. Но я не знаю, будет ли этот код работать, так как я его не тестировал. - person macroscripts; 28.11.2013
comment
Попробуйте это решение. Я заметил, что это имеет сходство с вашим вопросом. stackoverflow.com/questions/11579587/ - person macroscripts; 29.11.2013