2014-05-07 55 views
1

如果我正在請求一個在目錄中找不到的文件獲取錯誤狀態代碼爲404,而不是顯示404錯誤頁面,我只想保留一些在一個div文本/警報/示出圖像如果頁面404錯誤發生顯示警報或圖像,而不是錯誤頁面

<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錯誤頁面?

+0

在URL中加入「/」即url:「/basic1.css」,然後嘗試你的代碼,其他方式無論頁面是否存在,它總是會成功。放入「/」會產生正確的URL。「/」表示根。 – SeeTheC

+0

我不是說文件在哪裏,但是我說你的url應該以「/」開頭,比如「/css/basic.css」或者「/basic.css」。如果你寫這個,你會得到正確的錯誤代碼,例如,如果路徑是錯誤的404錯誤 – SeeTheC

+0

甚至在更換(url)url後:「/basic1.css」它顯示404頁面 – user3534869

回答

-2

請錯誤處理程序插入以下代碼

<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> 

也請確保基本URL Ajax請求是適當的。

按照上面的代碼,Ajax請求被髮送到以下網址

http://domain.com/basic1.css 

取得所以一定要加適量基本URL和路徑。

+0

有史以來放置文件的絕對路徑其顯示404頁 – user3534869

+0

請檢查以下[jsFiddle](http://jsfiddle.net/mohamedrias/Sdqvv/2/),ajax方法工作正常 – mohamedrias