この投稿のおかげで、モバイル サファリが ajax POST リクエストをキャッシュする問題を解決できました。「headers: {'Cache-Control': 'no-cache'}」を追加すると、モバイル サファリで私のページのトリックが行われたようです。
ただし、モバイル サファリ webapp 経由で自分の web サイトにアクセスすると、ajax 要求は引き続きキャッシュされます。解決策を見つけることができなかったので、ここに投稿すると思いました。上記のヘッダーを追加することに加えて、「cache: false」を追加して、「url: '/ajax_url?v='+time」を追加してみました。何も機能していないようです。
モバイル サファリと Web アプリの動作が異なるのはなぜですか? これを解決するにはどうすればよいですか?
編集:
コードを忘れました。ここにあります:
function send_ajax(my_data,refresh){
var now = new Date();
var n = now.getTime();
$.ajax({
url: "/ajax_page?time=" + n,
type: "POST",
headers: {"cache-control": "no-cache"},
data: my_data,
dataType: 'json'
})
.fail( function (jqXHR, textStatus, errorThrown){
})
.done(function(data){ // refresh the page after we get the results
if(refresh=='true'){
var pathArray = window.location.pathname.split('/');
window.location.href = '/' + pathArray[1];
}
});
}
send_ajax({'my_checkbox': $('#my_checkbox').is(':checked') },'true');