javascript - ajax调用结束时window.open不起作用

标签 javascript ajax window.open

我正在做Ajax调用,将参数发送到一个.php文件,调用完成后,我想在结果页面弹出一个新窗口,但它不起作用。

这是我的ajax代码

        $.ajax({
            type: "POST",
            url: "pipeline2.php",
            data: formData,
            cache: false,
            processData: false,
            contentType: false,
            //async: false,
        }).done(function (data) {
            $("#resultados_pipeline").append(data);
            document.getElementById('Running').style.display = 'none';
            window.open("results_page.php?jid="+job_id);
            alert(job_id);
        });

我首先想到也许job_id没有在ajax中设置,但是警报显示了预期的...

我也尝试过使用 async: true,但它也不起作用

最佳答案

浏览器不允许 window.open 调用,除非涉及到用户触发的事件。

Ajax 响应事件不是由用户触发的,因此弹出窗口会在此时被阻止。

关于javascript - ajax调用结束时window.open不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13957384/

相关文章:

javascript - ZF2 jQuery 日期选择器无法在 ajax 对话框中工作

javascript - 如何使用 angularjs 编辑输入值超出限制

javascript - html javascript打开新窗口并关闭当前窗口

java - 单击表单按钮打开新的浏览器窗口

javascript - 第二次复选框不起作用

javascript - Sequelize-auto 无法连接到命名的 MSSQL 实例

javascript - 为什么我对 ajax 请求得到空白响应?

jQuery getJSON 与 Django 发送错误的 sessionid cookie

php - 尝试将 base64(图像)文件保存到服务器,它是空的

子弹出窗口关闭时父页面上的javascript警报