我在javascript中有一些代码:
Ext.util.JSONP.request({
url: 'http://mysite.com/data.php',
callbackKey: 'callback',
callback: function(data) {
alert(data.title);
}
});
和php:
<?php
$callback = $_REQUEST['callback'];
$output = array('title' => 'Apple');
if ($callback) {
header('Content-Type: text/javascript');
echo $callback . '(' . json_encode($output) . ');';
} else {
header('Content-Type: application/x-json');
echo json_encode($output);
}
// file test.txt for checking php file has called
$fp=fopen("test.txt", a);
fwrite($fp, " call me");
fclose($fp);
?>
当函数js第一次运行时,test.txt是“call me”。但是当函数js第二次运行时,test.txt仍然是“给我打电话”。我认为test.txt必须是“叫我叫我”,因为我已经两次调用php。这表明“Ext.util.JSONP.request”仅在首次运行时请求远程服务器。下次将采用以前的数据,但不要再次调用服务器。 有人帮帮我吗?
答案 0 :(得分:0)
尝试将时间添加为参数以防止此“缓存”,在我之前的项目中为我工作
Ext.util.JSONP.request({
url: 'http://mysite.com/data.php',
callbackKey: 'callback',
callback: function(data) {
alert(data.title);
}
params: {
time : new Date().getTime();
}
});