При тестировании этого кода я специально делаю так, чтобы текст, возвращаемый вызовом ajax, не был равен 1. Он достигает оператора else
. Другие операторы выполняются, однако я никогда не вижу предупреждения.
$.ajax ( {
type: "GET",
processData: false,
url: SITE_URL + "/system/check_user_project/" + session_id + "/" + cart_id + "/" + project_id + "/" + revision_id, //send data to this url
dataType: 'text',
})
.done (function(text) //When we have the data
{
if ("1" == text)
{
photos_populate_albums(session_id); //Call function to populate albums
if (typeof(project_id) !== "undefined" && project_id > 0) //If we have a project
{
mattes_add_default_matte(null, null, null, null, SITE_URL + "/system/xml/export/" + project_id + "?rid=" + revision_id);
}
else //otherwise...
{
mattes_add_default_matte(); //Add the default matte
}
common_change_step(document.getElementById("step1")); //Set the step to 1
}
else
{
$("#content").empty();
alert("Invalid project.");
window.location.href = (SITE_URL + "/user/mystuff/projects/?pid=" + partner_id);
}
});
ОБНОВЛЕНИЕ: Я только что понял, что случайно установил флажок, который спрашивает, хотите ли вы продолжать получать оповещения с этой веб-страницы, когда она появится. Теперь я не знаю, где это отменить.
2 ответа
Вероятно, это потому, что вы выполняете перенаправление сразу после предупреждения, и оно подавляется.
Вы можете попробовать заменить это:
$("#content").empty();
alert("Invalid project.");
window.location.href = (SITE_URL + "/user/mystuff/projects/?pid=" + partner_id);
Для чего-то вроде этого:
$("#content").empty();
if (alert("Invalid project.") || true)
window.location.href = (SITE_URL + "/user/mystuff/projects/?pid=" + partner_id);
Код работает. Чтобы сбросить настройку оповещения, мне пришлось снова открыть вкладку.
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Имейте в виду, что JavaScript — это НЕ то же самое, что Java! Включите все ярлыки, относящиеся к вашему вопросу; например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [svelte] и т. д.
.fail()
только для того, чтобы убедиться, что он правильно выполняет вызовAJAX
.IE
:dataType: 'text',