Вам просто нужно поместить эти window.open()
вызовы в функцию обратного вызова «success:».
Теперь, как только вы это сделаете, вы обнаружите, что новыйокна на самом деле не открываются.Браузеры собираются заблокировать их, потому что они выглядят как агрессивные всплывающие окна с рекламой.Поскольку эти window.open
вызовы происходят в контексте, отличном от прямого инициируемого пользователем события (например, нажатие кнопки), они будут заблокированы.Тем не менее, вот как должна выглядеть ваша «функция успеха»:
$.ajax({<br/>
type: "POST",
url: "a1.php",
data: { url0: url0, url1: url1, url2: url2, url3: url3 },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
window.open(url0);
window.open(url1);
window.open(url2);
window.open(url3);
},
error: function(msg) {
}
})
Она будет «работать», поскольку будут выполняться вызовы window.open()
, но она не будет «работать», если вы выигралине получаю всплывающие окна.Вы должны сделать так, чтобы активность пользователя («щелчок» где-то) открывала окна, а не изменение состояния XMLHttpRequest.