Javascript 如果页面未显示,则加载特殊页面';不存在(404)

Javascript 如果页面未显示,则加载特殊页面';不存在(404),javascript,jquery,load,Javascript,Jquery,Load,我有一个小函数(如下),它使用一个参数来确定要加载的内容。有没有一种方法可以使.load()在遇到404时有一个“else”或回退 function start(page,last){ $("#area").load("pages/"+page+".inc.php"); loading(); } 提前感谢:)您可以指定加载完成时要执行的函数 摘自: 使用您的代码,它看起来类似于: function start(page,last){ $("#area").load("pages/"+p

我有一个小函数(如下),它使用一个参数来确定要加载的内容。有没有一种方法可以使.load()在遇到404时有一个“else”或回退

function start(page,last){
$("#area").load("pages/"+page+".inc.php");
loading();
}

提前感谢:)

您可以指定加载完成时要执行的函数

摘自:

使用您的代码,它看起来类似于:

function start(page,last){
    $("#area").load("pages/"+page+".inc.php", function(response, status, xhr) {
        if (status == "error") {
            // don't load as an error occured,...do something else...
        }
        else{
            loading();
        };
    });
}
您可以查看链接文档,以了解有关可能返回值和错误的更多详细信息。事实上,文档底部的演示演示了如何处理404

示例中的
xhr.status
包含错误号
404
xhr.statusText
未找到

这意味着您可以检查具体的号码:

function start(page,last){
    $("#area").load("pages/"+page+".inc.php", function(response, status, xhr) {
        if (status == "error" && xhr.status == ""404) {
            // a 404 occurred...
        }
        else{
            loading();
        };
    });
}

请参见

您可以指定加载完成时要执行的函数

摘自:

使用您的代码,它看起来类似于:

function start(page,last){
    $("#area").load("pages/"+page+".inc.php", function(response, status, xhr) {
        if (status == "error") {
            // don't load as an error occured,...do something else...
        }
        else{
            loading();
        };
    });
}
您可以查看链接文档,以了解有关可能返回值和错误的更多详细信息。事实上,文档底部的演示演示了如何处理404

示例中的
xhr.status
包含错误号
404
xhr.statusText
未找到

这意味着您可以检查具体的号码:

function start(page,last){
    $("#area").load("pages/"+page+".inc.php", function(response, status, xhr) {
        if (status == "error" && xhr.status == ""404) {
            // a 404 occurred...
        }
        else{
            loading();
        };
    });
}
请参见

中的responseText和textStatus参数可以告诉您它何时成功,以便您可以使用它们检查它是否失败。成功的响应将生成“成功”或“未修改”,而错误将生成“错误”

具有responseText和textStatus参数,可以告诉您何时成功,以便您可以使用这些参数检查是否失败。成功的响应将生成“成功”或“未修改”,而错误将生成“错误”

在中,您可以定义状态代码,如

$.ajaxSetup({
  statusCode: {
    404: function() {
      alert("page not found");
      //load the 404 page here
    }
  }
});
在中,您可以定义状态代码,如

$.ajaxSetup({
  statusCode: {
    404: function() {
      alert("page not found");
      //load the 404 page here
    }
  }
});

我应该把这个片段放在顶部的函数中吗?在底部?剧本的开头?准备好了吗?我把它放在原始加载之后,但它不起作用。我应该把这个片段放在顶部的函数中吗?在底部?剧本的开头?准备好了吗?我把它放在原始加载之后,但它不起作用。我复制了你的start()版本函数并在出现错误时发出警告框。但是,如果我使“页面”无效,则不会发生任何事情。根据Chrome中的Inspector,它所拥有的只是用于blah.inc.php的404。有什么想法吗?这对错误起到了作用,但是调用此函数的所有其他链接都以错误告终。到目前为止,我已经做到了:我想在上次编辑中,我忘记了包含参数。我现在添加了它们,还包括了一个演示函数并在出现错误时发出警告框。但是,如果我使“页面”无效,则不会发生任何事情。根据Chrome中的Inspector,它所拥有的只是用于blah.inc.php的404。有什么想法吗?这对错误起到了作用,但是调用此函数的所有其他链接都以错误告终。到目前为止,我已经做到了:我想在上次编辑中,我忘记了包含参数。我现在添加了它们,还包括了一个演示。