Я использую такой пост-вызов ajax,
$("#submit").on('click',function(){
$("#submit").prop("disabled",true);
$("#submit").prop("value","Loading...");
$.ajax({
type: 'POST',
url: 'myURL',
data: JSON.stringify({
"mailid" : mailid,
"a1" : a1,
"a2" : a2,
"a3" : a3,
"a4" : a4,
"a5" : a5,
"a6" : a6,
"a7" : a7,
"a8" : a8,
"a9" : a9,
"a10" :a10,
"dob" : age,
"filledBy" : filledBy
}),
success: function () {
//to open the score page
window.open("score.html","_top");
$("#submit").prop("disabled",false);
$("#submit").prop("value","Get My Score");
},
error: function(error) {
alert(error);
}
});
});
в функции успеха window.open () отлично работает в chrome, т.е. страница перенаправляется на score.html, но не работает в браузерах Edge, Firefox и Internet Explorer, вместо этого она просто обновляет ту же страницу. Есть ли альтернативный способ использования window.open () для перенаправления на «Score.html» независимо от того, какой браузер используется?
Так в чем проблема: успех ajax или window.open? Что, если вы просто добавите window.open в событие щелчка? Это работает во всех браузерах?
звучит как блокировщик всплывающих окон, если он действительно попадает в метод успеха
Да, я считаю, что это блокировщик всплывающих окон, я попытался добавить «async: false» к моему методу ajax, и window.open () работает нормально, но добавление async: false не пропускает эти две строки, $ ("# submit" ) .prop ("отключено", истина); $ ("# submit"). prop ("значение", "Загрузка ..."); Есть ли способ предотвратить блокировку всплывающих окон без использования async: false?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


FireFox и Edge позволяют window.open просто по щелчку, а в других ситуациях (а также при успешном использовании ajax) спросите пользователей, хотят ли они разрешить открытие нового окна. Пользователь также может выбрать, чтобы страница больше не задавала этот вопрос.
Если вы хотите перенаправить на новую страницу, используйте эту вставку:
window.location.href = "score.html";
Я пробовал использовать window.location.href и все еще без изменений, страница обновляется, но не открывает новую страницу html
Для открытия нового окна требуется физический щелчок или разрешение пользователя. Window.location - это просто предложение завершить операцию в текущем окне. @PKK
Не могли бы вы привести пример на jsfiddle? Спасибо.