我正在尝试使用POST请求的结果打开一个新的浏览器选项卡。我正在尝试使用包含以下代码的函数来做到这一点:

var windowManager = Components.classes["@mozilla.org/appshell/window-mediator;1"]
    .getService(Components.interface
s.nsIWindowMediator);
var browserWindow = windowManager.getMostRecentWindow("navigator:browser");
var browser = browserWindow.getBrowser();
if(browser.mCurrentBrowser.currentURI.spec == "about:blank")
    browserWindow.loadURI(url, null, postData, false);
else
    browser.loadOneTab(url, null, null, postData, false, false);

我正在使用字符串作为url,并使用JSON数据作为postData。我做错什么了吗?

发生的情况是,创建了一个新选项卡,该位置显示了我要发布到的URL,但是文档为空白。浏览器上的“后退”,“前进”和“重新加载”按钮均显示为灰色。看起来除了执行POST以外,它已完成所有操作。如果我关闭postData参数,则它将正确运行GET。

内部版本号:Mozilla/5.0(Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.0.1)Gecko/2008070206 Firefox/3.0.1

最佳答案

Mozilla所不具备的某些功能,应该可以在大多数浏览器中正常运行:

  • 使用设置字段的隐藏方式创建隐藏表单
  • 确保表单的“目标”属性设置为“_BLANK”。
  • 以编程方式提交表单
  • 10-07 16:23
    查看更多