firefox addon main.js显示相同的请求响应,而不是更新

时间:2013-04-09 15:18:12

标签: javascript firefox firefox-addon firefox-addon-sdk

我在使用插件构建器时遇到了什么问题? ,它没有显示新的请求响应,它始终显示相同的响应,这是我的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秒相同的消息,它不会更新。我有一种印象,就是它没有对服务器做出新的请求。我已更改消息,但仍显示旧消息。问题是什么?

更新

如果我将手动转到浏览器中的该链接并刷新它,那么插件也将刷新响应。为什么会这样?

1 个答案:

答案 0 :(得分:2)

尝试为Request个实例添加“headerCache-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) { /* ... */ }