如何使用XUL(Firefox扩展)Javascript提交经过身份验证的HTML表单?

时间:2010-05-31 22:54:26

标签: xul

我正在开发Firefox扩展程序,在该扩展程序中,我尝试使用AJAX在网页上提交表单。我正在使用:

var request = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(Components.interfaces.nsIXMLHttpRequest);
request.onload = loadHandler;
request.open("POST", url, true);
request.send(values);

发出请求,但它很有用。一个问题是表单上有一个身份验证令牌,我需要使用POST提交该令牌。我尝试单独进行GET以获取此令牌,但是当我发出第二个(POST)请求时,我的会话(显然)已更改,并且真实性令牌被视为无效。

有没有人知道如何使用XUL / Chrome Javscript来维护多个请求(所有“幕后”)的常量会话?我仍然是一个XUL n00b,所以我可能会有一个非常明显的替代方案(例如隐藏的IFRAME;我曾尝试过这种方法,但无法让它工作)。

1 个答案:

答案 0 :(得分:0)

我最后选择了一个“隐藏的”IFRAME ......只是我无法弄清楚如何完全隐藏它,所以我只是这样做了:

<iframe flex="1" maxheight="1" maxwidth="1" showcaret="false"
        transparent="true" />

它在窗口的下角创建了一个小白框,但其余表格几乎看不到。

然后我通过IFRAME进行了“AJAX调用”:

iframe.contentDocument.getElementById("someInput").value = "Some value";
iframe.setAttribute('src', "https://yourServer.com/yourPseudoAjaxHandler");