Bypass Popup Blocker On Window.open When JQuery Event.preventDefault() Is Set
Answer : Popup blockers will typically only allow window.open if used during the processing of a user event (like a click). In your case, you're calling window.open later , not during the event, because $.getJSON is asynchronous. You have two options: Do something else, rather than window.open . Make the ajax call synchronous, which is something you should normally avoid like the plague as it locks up the UI of the browser. $.getJSON is equivalent to: $.ajax({ url: url, dataType: 'json', data: data, success: callback }); ...and so you can make your $.getJSON call synchronous by mapping your params to the above and adding async: false : $.ajax({ url: "redirect/" + pageId, async: false, dataType: "json", data: {}, success: function(status) { if (status == null) { alert("Error in verifying the status."); } else if(!status) { $("#agreement...