一般来说,JS新开窗口非常简单和直接的window.open(url);好的,

但是,因为我想将参数传递给服务器端,而且参数看起来很长,GET参数的长度是有限的,所以我有以下要求:

1,在JS中实现POST提交

2,返回的页面显示在新窗口中。

首先,我做到了。

复制代码代码如下所示:

$ ajax({

类型:邮政

网址:$ { contextpath } / /做详细分析,

数据:{ carnum:carnum,ID:refids },

成功:功能(str_response){ var obj = window.open(有关:空白);

obj.document.write(str_response);

}

});



由ajax提交,返回的数据被写入新页面,但由于浏览器会自动拦截弹出窗口,它也需要用户取消拦截,用户体验非常差。

然后,通过模拟表单表单的提交实现它。

复制代码代码如下所示:

功能柱(URL参数){ var temp_form = document.createelement(形式);

temp_form.action =网址;

temp_form.target =_blank ;

temp_form.method = 后;

temp_form.style.display =无;对于(var x参数){ var选择= document.createelement(文本);

opt.name = x;

opt.value = params {X};

temp_form.appendchild(选择);

}

document.body.appendchild(临时);

temp_form.submit();

}



注:在新打开的窗口形式的目标属性必须设置为'_blank

然后请求后($ { contextpath } / /详细分析。做,{ carnum:carnum,ID:refids });好的。