Ich möchte eine HTTP POST
aus einem iMacro zu einem API-Endpunkt tun. Effektiv, etwa wie folgt:iMacros Http POST zu API-Endpunkt
curl -d "data=foo" http://example.com/API
In iMacros, könnte es etwa so aussehen:
my-imacro.iimVERSION BUILD=10.4.28.1074
TAB T=1
URL GOTO=javascript:post('http://example.com/API', {data: 'foo'});
function post(path, params, method) {
// Reference: http://stackoverflow.com/a/133997/1640892
method = method || "post";
var form = document.createElement("form");
form.setAttribute("method", method);
form.setAttribute("action", path);
for (var key in params) {
if (params.hasOwnProperty(key)) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);
form.appendChild(hiddenField);
}
}
document.body.appendChild(form);
form.submit();
}
Aber die oben scheint wie ein langer und schwieriger Weg zu tun Dies. Wenn es überhaupt funktioniert.
Gibt es eine kürzere, direktere oder effizientere Lösung?
Vielleicht 'XMLHttpRequest()' statt 'Funktion post()' schicken? – Shugar