當ajax請求的接口如果沒有發生變化的情況下,那么會緩存中讀取數據,
不會再向服務器請求數據,如果接口的地址發生了改變那么會再次向服務器請求數據
1. 通過URL添加后綴的方式
本來請求的地址是: /home/action? 加查詢參數后綴后:/home/action?ran=Match.Random();
2. 通過Jquery的Ajax API設置相關屬性(代碼中標紅處)
<script type="text/javascript">
var LoadTime = function () {
$.ajaxSetup({ cache: false });
$.ajax({
url: '@Url.Action("currTime")',
success: function (result) {
$("#currTime").html(result);
}
})
}
</script>
附帶
AJAX的封裝
function ajax(options){
//創建一個ajax對象
var xhr = new XMLHttpRequest() || new ActiveXObject("Microsoft,XMLHTTP");
//數據的處理 {a:1,b:2} a=1&b=2;
var str = "";
for(var key in options.data){
str+="&"+key+"="+options.data[key];
}
str = str.slice(1)
if(options.type == "get"){
var url = options.url+"?"+str;
xhr.open("get",url);
xhr.send();
}else{
xhr.open("post",options.url);
xhr.setRequestHeader("content-type","application/x-www-form-urlencoded");
xhr.send(str)
}
//監聽
xhr.onreadystatechange = function(){
//當請求成功的時候
if(xhr.readyState == 4 && xhr.status == 200){
var d = xhr.responseText;
//將請求的數據傳遞給成功回調函數
options.success&&options.success(d)
}else if(xhr.status != 200){
//當失敗的時候將服務器的狀態傳遞給失敗的回調函數
options.error&&options.error(xhr.status);
}
}
}
