1

插件生成器我做错了什么?,它没有显示新的请求响应,它一直显示相同的响应,这是我的 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 秒显示一次相同的消息,它没有更新。我的印象是它没有向服务器发出新请求。我已更改消息,但仍显示旧消息。问题是什么?

更新:

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

4

1 回答 1

2

尝试将“ Cache-control ”的标头添加到您的实例中,并指定“ ”值(或某些“ ”值),以防止获得缓存的响应。Requestno-cachemax-age

例如,在你的例子中,字里行间

  url: "http://mysite.com/data.txt",
  onComplete: function (response) { /* ... */ }

插入以下行:

  url: "http://mysite.com/data.txt",
  headers: {
    'Cache-control': 'no-cache'
  },
  onComplete: function (response) { /* ... */ }
于 2013-04-09T15:36:51.010 回答