Javascript 在新的弹出窗口中打开POST响应
下面是我用来发布数据的粘贴代码。响应将在新选项卡中打开Javascript 在新的弹出窗口中打开POST响应,javascript,jquery,http-post,Javascript,Jquery,Http Post,下面是我用来发布数据的粘贴代码。响应将在新选项卡中打开 GF.SubmitForm = function (url, params, target) { // create form string using array push and join var form = ['<form method="POST" action="', url, '" target="', target, '">']; for (var key in params)
GF.SubmitForm = function (url, params, target) {
// create form string using array push and join
var form = ['<form method="POST" action="', url, '" target="', target, '">'];
for (var key in params)
form.push('<input type="hidden" name="', key, '" value="', params[key], '"/>');
form.push('</form>');
jQuery(form.join('')).appendTo('body')[0].submit();
}
您将无法使用
window.open()
打开新窗口。使用Ajax可以帮助您避免对GE.SubmitForm()
GF.SubmitForm=函数(url、参数、目标){
如果(目标=='newwindow')
{
var paramsString='';
for(参数中的变量键)
paramsString+=key+'='+params[key]+'&';
var urlCopy=url;
jQuery.ajax({
cache:false,
键入:“post”,
数据:paramsString,
数据类型:“html”,
url:urlCopy
}).完成(功能(数据){
var newWindow=window.open(urlCopy,目标,“菜单栏=1,可调整大小=1,宽度=350,高度=250”);
newWindow.document.write(数据);
});
返回;
}
//使用数组push和join创建表单字符串
变量形式=[''];
for(参数中的变量键)
形式。推送(“”);
形式。推送(“”);
jQuery(form.join(“”)).appendTo('body')[0].submit();
};
请原谅需要作为目标值的神奇字符串newwindow
。你明白了。还可以使用布尔值重载函数以打开新窗口,如果为false,则调用原始的3-arg函数,如果为true,则使用ajax
jQuery(form.join('')).appendTo('body')[0].submit(function () {
window.open(url,target,"menubar=1,resizable=1,width=350,height=250");
});
GF.SubmitForm = function (url, params, target) {
if (target === 'newwindow')
{
var paramsString = '';
for (var key in params)
paramsString += key + '=' + params[key] + '&';
var urlCopy = url;
jQuery.ajax({
cache: false,
type: 'post',
data: paramsString,
dataType: 'html',
url: urlCopy
}).done(function(data){
var newWindow = window.open(urlCopy,target,"menubar=1,resizable=1,width=350,height=250");
newWindow.document.write(data);
});
return;
}
// create form string using array push and join
var form = ['<form method="POST" action="', url, '" target="', target, '">'];
for (var key in params)
form.push('<input type="hidden" name="', key, '" value="', params[key], '"/>');
form.push('</form>');
jQuery(form.join('')).appendTo('body')[0].submit();
};