dou44481
dou44481
2016-04-06 07:10
浏览 130

打开ajax成功的页面弹出窗口

I am doing a project and im having problem with window.open. The problem is window.open doesnt work in my schema. i need a help on this,

swal({
    title: "Submit Data ?",
    text: "Process only if you are sure",
    type: "warning",
    showCancelButton: true,
    confirmButtonColor: "#DD6B55",
    confirmButtonText: "Yes, Submit!",
    cancelButtonText: "No, Cancel!",
    closeOnConfirm: false,
    closeOnCancel: false
},
function(isConfirm){
    if (isConfirm) {
        insertData();
        swal("SUCCESS", "Data Has Been Submitted", "success");
        window.open("http://188.109.156.21/execution.php?str=james");
    } else {
        swal("CANCELLED", "", "error");
    }
});

function insertData(){
    $.ajax({
        type: 'POST',
        url: "../../../html/main/divpages/submit_data.php",
        data: sentReq,
        dataType: 'JSON',
        success: function (response, textStatus, jqXHR) {
            if (response.indexOf("GAGAL") == -1) {
                window.location.href = "main.php";
            } else {
                alert("GAGAL INSERT");
            }
        }
    });
}

so i can execute insertData() with no problem.but the problem lies when executin windows.open inside swal(). i dont see any window popup is opening.

图片转代码服务由CSDN问答提供 功能建议

我正在做一个项目,我遇到了window.open的问题。 问题是window.open在我的架构中不起作用。 我需要一个帮助,

  swal({
 title:“提交数据?”,
文本:“仅在您确定时处理”,
类型 :“warning”,
 showCancelButton:true,
 confirmButtonColor:“#DD6B55”,
 confirmButtonText:“是的,提交!”,
 cancelButtonText:“不,取消!”,
 closeOnConfirm:false,
  closeOnCancel:false 
},
function(isConfirm){
 if(isConfirm){
 insertData(); 
 swal(“SUCCESS”,“数据已被提交”,“成功”); 
窗口。  open(“http://188.109.156.21/execution.php?str=james”); 
} else {
 swal(“CANCELLED”,“”,“error”); 
} 
});  
 
_函数insertData(){
 $ .ajax({
 type:'POST',
 url:“../../../html/main/divpages/submit_data.php",nn  data:sentReq,
 dataType:'JSON',
 success:function(response,textStatus,jqXHR){
 if(response.indexOf(“GAGAL”)== -1){
 window.location.href  =“main.php”; 
} else {
 alert(“GAGA  L INSERT“); 
} 
} 
}); 
} 
   
 
 

所以我可以毫无问题地执行insertData()。但问题是 当在swal()中执行windows.open时就会出现这种情况。 我没有看到任何窗口弹出窗口正在打开。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dtuy84033
    dtuy84033 2016-04-06 07:22
    已采纳

    It's the popup-blocking logic in action that browsers use. You have to attach window.open directly on onClick event.

    Use something like this:

    var checkSuccess = false;
    
    $('#button').on("click", function(){
        $.ajax({
          type: 'POST',
          url: "your url",
          async:false,
          success: function(){ 
             checkSuccess = true;
             //YOUR LOGIC
          }
        });
        if(checkSuccess){
          window.open("http://188.109.156.21/execution.php?str=james");
        }
    })
    
    点赞 评论

相关推荐