JavaScript打开新窗口时POST传参

  • Post author:
  • Post category:java


打开新窗口时(open window),使用传递post参数

//JQuery的serialize方法通过序列化表单值,创建 URL 编码文本字符串。
//如果要表单元素的值包含到序列字符串中,元素必须使用 name 属性。
var params =  $("form").serialize();   

$.ajax({   
    type: "POST",   
    url: "yourpage.php",   
    data: params,   
    success: function(str_response) {   
        var obj = window.open("about:blank");   //获取新页面的对象
        obj.document.write(str_response);       //POST获取的返回写入新页面对象
    }   
});  

原理:

1. 使用ajax请求请求页面,

2. 成功后,打开一个空的窗口

3. 将ajax请求得到的页面,写入新建的空白窗口

补充说明:

如果使用了firbug(firefox中的调试工具),那么可能会有点小问题:新开的页面一直在运行不能停止。