为什么我的警报声明不会触发?

时间:2014-12-08 16:36:58

标签: 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 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 个答案:

答案 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);
相关问题