在测试此代码时,我故意这样做,以便从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);
}
});
更新:我刚刚意识到我不小心检查了一个方框,询问您是否要在此网页出现时继续接收来自此网页的提醒。现在我不知道在哪里撤消它。
答案 0 :(得分:0)
代码有效。要重置警报设置,我必须重新打开选项卡。
答案 1 :(得分:-1)
可能是因为你在警报之后正在进行重定向,而且它正在被压制。
您可以尝试替换它:
$("#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);