我在使用插件构建器时遇到了什么问题? ,它没有显示新的请求响应,它始终显示相同的响应,这是我的main.js代码:
var tmr = require('timer');
var timus=5000;
var Request = require("sdk/request").Request;
function timer_restarting(){
gint = tmr.setInterval(function() {
Request({
url: "http://mysite.com/data.txt",
onComplete: function (response) {
if(response.text.indexOf('<show>true</show>')>-1){
timus = parseInt(response.text.substring(response.text.indexOf('<interval>')+10,response.text.indexOf('</interval>')));
show(response.text.substring(response.text.indexOf('<message>')+9,response.text.indexOf('</message>')));
tmr.clearInterval(gint);
timer_restarting();
}
}
}).get();
}, timus);
}
timer_restarting();
插件显示每5秒相同的消息,它不会更新。我有一种印象,就是它没有对服务器做出新的请求。我已更改消息,但仍显示旧消息。问题是什么?
请
更新
如果我将手动转到浏览器中的该链接并刷新它,那么插件也将刷新响应。为什么会这样?
答案 0 :(得分:2)
尝试为Request
个实例添加“header”Cache-control,并指定值“no-cache
”(或某些“max-age
”值),以防止获得缓存的响应。
E.g。在你的例子中,行之间
url: "http://mysite.com/data.txt",
onComplete: function (response) { /* ... */ }
插入以下行:
url: "http://mysite.com/data.txt",
headers: {
'Cache-control': 'no-cache'
},
onComplete: function (response) { /* ... */ }