簡體   English   中英

部分ajax請求后如何處理非ajax響應?

[英]How to handle non ajax response after partial ajax request?

我從頁面發出部分ajax請求,如果沒有得到部分ajax響應作為響應,或者如果部分ajax響應格式不正確,則無法找到處理方法。 客戶端只會在這種情況下不采取任何措施,並且保持冷靜。
當會話過期並且服務器返回非ajax響應(沒有<partial-response>標記)而不是ajax響應時,或者發生異常,因此<partial-response>變得格式錯誤並且沒有結束標記時,會發生這種情況。
任何想法?
我試圖覆蓋客戶端的PrimeFaces.ajax.Response.handle函數,但是在這種情況下不會調用它(因為返回了非ajax響應)。

解決方案是將此Java代碼放入login.jsp頁面中以標識ajax請求

<%
    boolean ajax = "XMLHttpRequest".equals( request.getHeader( "X-Requested-With" ) );
    if ( ajax ) {
        // Authentication Timeout
        response.setStatus( 419 );
    }
%>

和客戶端上的jQuery(例如,在某些模板中)

<script>
$.ajaxSetup({
    statusCode: {
      419: function() {
          location.reload();
      }
    }
   })
</script>

暫無
暫無

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

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