XMLHttpRequest POST并在新窗口/选项卡中打开目标页面 [英] XMLHttpRequest POST and open target page in new window/tab

查看:345
本文介绍了XMLHttpRequest POST并在新窗口/选项卡中打开目标页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在 target =_ blank来模拟Form的'POST' >的XMLHttpRequest ? (即发布数据,并在新标签中打开目标页面)

解决方案

gBrowser
$ b

  var dataStream = Cc [@ mozilla .ORG / IO /串输入流; 1\" ]的createInstance(Ci.nsIStringInputStream); 
dataStream.data =foo = bar& alpha = beta; //确保值正确编码encodeURIComponent

var postStream = Cc [@ mozilla.org/network/mime-input-stream;1\"].createInstance(Ci.nsIMIMEInputStream);
postStream.addHeader(Content-Type,application / x-www-form-urlencoded);
postStream.addContentLength = true;
postStream.setData(dataStream);

gBrowser.loadOneTab(http://www.example.com/,{inBackground:false,postData:postStream});


How do you emulate Form's 'POST' action with target="_blank" in XMLHttpRequest? (ie post data and open target page in a new tab)

解决方案

gBrowser offers this functionality right out of the box.

var dataStream = Cc["@mozilla.org/io/string-input-stream;1"].createInstance(Ci.nsIStringInputStream);
dataStream.data = "foo=bar&alpha=beta"; // make sure the values are properly encoded with encodeURIComponent

var postStream = Cc["@mozilla.org/network/mime-input-stream;1"].createInstance(Ci.nsIMIMEInputStream);
postStream.addHeader("Content-Type", "application/x-www-form-urlencoded");
postStream.addContentLength = true;
postStream.setData(dataStream);

gBrowser.loadOneTab("http://www.example.com/", {inBackground: false, postData: postStream});

这篇关于XMLHttpRequest POST并在新窗口/选项卡中打开目标页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆