2011-03-02 44 views
0

如何報告XHR data使用jQuery.ajax()ifModified:true?不幸的是,重複的ajax請求報告data undefined如何在使用jQuery.ajax()ifModified時報告XHR數據:true?關於重複ajax請求它報告數據undefined

$.ajax({ 
    type:"GET", 
    url:'/api',     // {"content"="Hello!"} 
    dataType:'json', 
    cache:true, 
    ifModified:true, 
    success:function(data,textStatus,jqXHR){ 
     console.debug(textStatus); //repeated request returns `notmodified` 
     console.debug(data);  // Why on repeated request returns `undefined`? 
    } 
}); 
+0

看到http://stackoverflow.com/questions/5118017/how-to-fix-browser-cache-and-notmodified-respond-for-json-jquery-ajaxifmodifi/12653101# 12653101 – MarkB 2012-10-01 13:49:29

回答

0

如果您設置了修改模式並且遠程頁面沒有修改,則狀態碼304將被返回;我建議你嘗試將你的函數代碼放在ajax「complete」事件中。

http://code.jquery.com/jquery-1.5.1.js

// If not modified 
if (status === 304) { 

    statusText = "notmodified"; 
    isSuccess = true; 

// If we have data 
} else { 

    try { 
     success = ajaxConvert(s, response); 
     statusText = "success"; 
     isSuccess = true; 
    } catch(e) { 
     // We have a parsererror 
     statusText = "parsererror"; 
     error = e; 
    } 
} 
+0

爲什麼它返回''parsererror'?我試圖設置它爲https://github.com/laukstein/ajax-seo/blob/master/index.php任何建議? – Binyamin 2011-03-08 20:46:01

+0

您的示例不起作用。 – Binyamin 2011-07-20 19:47:20