0
我在腳本中調用$.post
調用,我想用$.ajaxSetup
來處理緩存控制。
function function1()
$.ajaxSetup({
type: 'POST',
headers: { "cache-control": "no-cache", "pragma-cache": "no-cache" }
});
$.post('getLists.php', {user: authUser, token: authToken}, function(data){
$('nav a[class!=btnNewList]').remove();
$.each(data.objects, function(index, element){
$('nav').append('<a href="#" data-list-id="'+element.id+'">'+element.title+'</a>');
});
$('nav').children('a:first-child').next('a').addClass('selected');
getClipsForList($('nav').children('a:first-child').next('a').attr('data-list-id'));
}, 'json');
function function2(){
$.ajaxSetup({
type: 'POST',
headers: { "cache-control": "public", "pragma-cache": "public" }
});
$.post('getClips.php', {user: authUser, token: authToken}, function(data){
spinner.stop();
$.each(data.objects, function(index, element){
if(element.list == '/api/lists/'+id+'/'){
$('#clips ul').append('<li data-url="'+element.url+'">'+truncate(element.title, 100)+'</li>');
}
});
},'json');
}
我建立一個移動網絡應用程序,我注意到這是我的緩存JSON響應,所以我做了一些研究,發現$.ajaxSetup
解決方案。它工作得很好,但現在看來,無論我設置緩存控制屬性,它現在都是總是緩存。我只想緩存某些$ .post調用。任何方式來做到這一點?
我試過使用$.ajax
而不是$.post
作爲我希望緩存的數據並將全局屬性設置爲false的函數,但它仍然不會緩存。
爲什麼不直接使用'$ .ajax'來直接指定這些設置? –
感謝凱文,我想避免使用$ .ajax來支持$ .post,因爲它有點清潔,但它似乎是最好的方式,現在正在工作。謝謝! –
我認爲使用$ .ajax比使用$ .ajaxSetup更清潔一次。 –