Mootools Request()在IE9会话中只能工作一次

Mootools Request() works only once per session IE9

本文关键字:工作 一次 会话 Request IE9 Mootools      更新时间:2023-09-26

问题:
我有一个MootoolsRequest对象,它向PHP脚本发送GET请求。脚本返回一个ID数组。在除IE之外的所有浏览器中,每次请求对象的新实例化都会命中PHP后端脚本——没问题。但对于IE,每次浏览器会话只有一次点击PHP脚本。如果我清除了缓存,它会再次流到后端,正常,但在浏览器重新启动或缓存刷新后。

问题:

  • IE是否以某种方式通过缓存阻止了我的请求
  • 如果是这样,我有什么可以更改的,以防止IE阻止请求

注意:

  • IE9和IE9处于兼容模式。我没有在旧的IE版本上进行了测试
  • 使用页面范围无缓存不是一个选项
  • 我在脚本中使用了error_log()语句来检查是否正在访问is

这是我的代码:

requestIDs : function() {
        new Request({
            url : "/identity/idGenerator.php?generate_ids",
            method : "get",
            onSuccess : function(response) {
                this.container.set('html', '');
                var idList = response.split(",");
                console.log(idList.join(","));
            }.bind(this)
        }).send();
    }
});

您需要阻止IE缓存请求,这里有一个解决方案
而且在mootools中构建的正确解决方案是使用配置参数noCache:true 初始化请求

var myRequest = new Request({...
                             ...
                             noCache:true,
                             ...
                             ...);

使用method: 'post'阻止IE缓存。