Jquery帖子,在新窗口中响应

Pet*_*ter 42 javascript jquery

我有一个脚本,on.DocumentReady将数据发布到另一个页面.该页面响应了一个封装在一个div标签中的HTML.

我的目标是在新窗口中打开此帖子响应/数据.

任何提示或线索?

这是我根据Mille博士的建议创建的片段.

 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
 <script type="text/javascript">
$(document).ready(function() {
var packslip_id = 35592;
var po_no = 0018439;
var  box_no = 1;
    $.post("https://example.com/barcode/generate", { packing_slip: packslip_id, reference: po_no, total_boxes: box_no}, 
    function (data) {
        alert(data);
        var win=window.open('about:blank');
        with(win.document)
        {
            open();
            write(data);
            close();
        }
    });
 });
Run Code Online (Sandbox Code Playgroud)

Dr.*_*lle 64

使用Pop() - Popup文档的方法将标记放在那里:

$.post(url, function (data) {
    var w = window.open('about:blank');
    w.document.open();
    w.document.write(data);
    w.document.close();
});
Run Code Online (Sandbox Code Playgroud)


Roc*_*lan 27

接受的答案不适用于"use strict",因为"with"语句会引发错误.所以与其:

$.post(url, function (data) {
    var w = window.open('about:blank', 'windowname');
    w.document.write(data);
    w.document.close();
});
Run Code Online (Sandbox Code Playgroud)

另外,确保'windowname'中没有任何空格,因为在IE中会失败:)


Dr.*_*lle 6

如果您不需要有关所请求数据的反馈,并且也不需要在开启者和弹出窗口之间进行任何交互,则可以在弹出窗口中发布隐藏的表单:

例:

<form method="post" target="popup" id="formID" style="display:none" action="https://example.com/barcode/generate" >
  <input type="hidden" name="packing_slip" value="35592" />
  <input type="hidden" name="reference" value="0018439" />
  <input type="hidden" name="total_boxes" value="1" />
</form>
<script type="text/javascript">
window.open('about:blank','popup','width=300,height=200')
document.getElementById('formID').submit();
</script>
Run Code Online (Sandbox Code Playgroud)

否则你可以使用jsonp.但这只适用于您有权访问其他服务器的情况,因为您必须修改响应.