簡體   English   中英

app_offline.htm不返回對ajax請求的響應

[英]app_offline.htm doesn't return response to ajax request

我創建了一個文件app_offline.html,內容:

{
   "ServerUnavailable":"true",
   "IssueType":"Maintenance",
   "ErrorMessage":"Servers are currently down for maintanance, please try again later"
}

並發布到我的服務器。

我想從我的應用程序中顯示有關服務器停機的消息。

當我通過谷歌瀏覽器導航到服務器時,我看到:

在此處輸入圖片說明

好的,一切都很好。

但是當我從我的應用程序發出ajax請求時:

$.ajax({
  // bla bola bla
})
.done(function (response, textStatus, jqXHR) {
  // bla bola bla
})
.fail(function (XMLHttpRequest, textStatus, errorThrown) {
  // HERE I WANT TO DISPLAY A MESSAGE
});

未定義XMLHttpRequest的所有屬性。 我已經嘗試了所有:

response responseBody responseType responseXML responseJSON status statusText

在哪里可以找到在瀏覽器中看到的響應? 還是我想念什么?

由於請求沒有失敗,因此該代碼實際上永遠不會進入失敗功能。

當您請求app_offline.html文件時,它只會退還給您

{
   "ServerUnavailable":"true",
   "IssueType":"Maintenance",
   "ErrorMessage":"Servers are currently down for maintanance, please try again later"
}

它不會產生任何錯誤,並將存儲在.done函數的“ response”變量中。

我認為您忽略了Http Header的要求。 標頭應為Content-Type: application/json但您使用的是html文件,因此IIS使用text/html標頭提供此文件。

看看這個https://www.iis.net/configreference/system.webserver/staticcontent/mimemap

<configuration>
   <system.webServer>
      <staticContent>
         <mimeMap fileExtension=".syx" mimeType="application/octet-stream" />
         <mimeMap fileExtension=".tab" mimeType="text/plain" />
      </staticContent>
   </system.webServer>
</configuration>

在應用此功能之前,您可能需要更改文件的擴展名。 這樣可能會更容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM