【问题标题】:if page 404 error occurs showing an alert or an image instead of error page如果出现 404 页错误,则显示警报或图像而不是错误页面
【发布时间】:2014-06-24 07:44:00
【问题描述】:

如果我在请求目录中未找到的文件时收到错误状态代码为 404,而不是显示 404 错误页面,我只想在 div 中保留一些文本/警报/显示图像

<script>
  $.ajax({ cache: false,
            url: "basic1.css",
            data: { },
            success: function (data) {
                $('#id').html(data);
            },
            error:function (xhr, ajaxOptions, thrownError){
                if(xhr.status==404) {
                    //alert(thrownError);
                    alert("the requested page not found");
                }
                           }
        });
     </script>

在上面的代码中,我想得到一个警报而不是错误页面,它直接显示错误(404)对象未找到页面。

如何限制显示 404 错误页面?

【问题讨论】:

  • 在 url 中输入 "/" 即 url: "/basic1.css" 然后尝试你的代码,否则无论页面是否存在它都会成功。输入“/”使 url 正确。“/”代表 root。
  • 我不是说文件在哪里,而是我说你的网址应该以“/”开头,例如“/css/basic.css”或“/basic.css”之类的。如果你写这个,你会得到正确的错误代码,即 404 如果路径错误
  • 即使替换了(url) url: "/basic1.css" ,它仍然显示404页面
  • 你的代码对我来说很好用。见演示jsfiddle.net/sjnilan/Sdqvv
  • 抱歉 jsfiddle 新手,点击 RUN 后看不到警报,我能知道为什么它不适合我吗?

标签: javascript jquery http-status-code-404


【解决方案1】:

请在错误处理程序中插入以下代码

<script>
      $.ajax({ cache: false,
                url: "basic1.css",
                data: { },
                success: function (data) {
                    $('#id').html(data);
                },
                error:function (xhr, ajaxOptions, thrownError){
                   if(jqXHR.status == 404 || thrownError == 'Not Found') {
                       $('#id').html("<img src='imagelink-here'/>"); // If you want to show an image
                       $('#id').html("Sorry, the page is not found"); // if you need text
                    }
                               }
            });
         </script>

另外请确保 ajax 请求的基本 url 是正确的。

按照上面的代码,ajax请求是向下面的URL发出的

http://domain.com/basic1.css

所以请确保添加正确的基本 url 和路径。

【讨论】:

  • 在放置文件的绝对路径后显示 404 页面
  • 请检查以下jsFiddle,ajax方法工作正常
猜你喜欢
  • 1970-01-01
  • 2013-09-12
  • 2019-03-17
  • 2013-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多