问题“Ext.util.JSONP.request”仅在首次运行时请求远程服务器

时间:2011-09-02 10:58:55

标签: json

我在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”仅在首次运行时请求远程服务器。下次将采用以前的数据,但不要再次调用服务器。 有人帮帮我吗?

1 个答案:

答案 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();
    }
});