Javascript 为什么我的警告声明没有开火?
在测试这段代码时,我特意将其设置为ajax调用返回的文本不是1。它到达Javascript 为什么我的警告声明没有开火?,javascript,jquery,google-chrome,Javascript,Jquery,Google Chrome,在测试这段代码时,我特意将其设置为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 thi
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);
}
});
更新:我刚刚意识到我无意中选中了一个框,该框询问您是否希望在出现此网页时继续接收来自该网页的警报。现在我不知道从何处撤消它。可能是因为您在警报刚发出后执行重定向,并且它正在被禁止 您可以尝试替换此:
$("#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);
代码是有效的。要重置警报设置,我必须重新打开选项卡 您在浏览器控制台中是否有任何错误?您如何知道它到达else语句?提示:我将添加
.fail()
处理程序,以确保它正确执行AJAX
调用。您没有选中“不显示此站点的警报”或类似的内容吗?如果您在服务器上测试此功能,是否确保代码已正确上载?提示2:此处多余的逗号可能会在IE
:数据类型:'text',
上打断您的代码,答案中的代码片段是等效的。