因此,我制作了js脚本,该脚本可从服务器上的文件中获取内容。 我制作了php脚本来更改文件内容,但是当我更改内容时,我的js脚本仍然可以获取旧数据而没有更改,但是服务器上的文件已更改。 即使刷新页面,JS仍会获取旧数据。 怎么了?
我尝试使用fopen代替file_puts_contents,但是js仍然获取旧数据。 我还尝试了使funcion异步,但是没有任何改变。
getListFromApi=()=>{
let json = []
$.ajax({
url: 'https://mypage.pl/list.json',
async: false,
dataType: 'json',
success: function(data){
json = data
}
})
return json
}
答案 0 :(得分:1)
浏览器将缓存其结果,这意味着如果您多次请求相同的URL,则每次都将仅使用第一个结果来加快获取速度。看来您使用的是jQuery(正确吗?),在这种情况下,您可以通过将cache: false
添加到请求对象中来禁用缓存。
答案 1 :(得分:0)
您可以添加一个cache: false
之类的IceMetalPunk答案,但是您也可以在网址中添加查询字符串,这样浏览器就不会缓存您的响应数据。使用时间戳查询字符串,可以确保在所有环境中
getListFromApi=()=>{
let json = []
$.ajax({
url: 'https://mypage.pl/list.json?nocache',
async: false,
cache: false,
dataType: 'json',
success: function(data){
json = data
}
})
return json
}