Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular.js ie ajax请求问题_Javascript_Ajax_Angularjs - Fatal编程技术网

Javascript Angular.js ie ajax请求问题

Javascript Angular.js ie ajax请求问题,javascript,ajax,angularjs,Javascript,Ajax,Angularjs,我在IE中使用angular.js ajax调用时遇到问题。第一次执行请求时,一切正常(我得到了良好的结果)。但是,当我在不刷新页面的情况下执行另一个ajax调用(相同的请求)时,结果看起来与第一个调用相同,即使它不应该是相同的 我的请求是这样的: this.getemploye = function (isaftersave) { $http({ url: 'Contact.svc/getemployee', method: "GET" }).s

我在IE中使用angular.js ajax调用时遇到问题。第一次执行请求时,一切正常(我得到了良好的结果)。但是,当我在不刷新页面的情况下执行另一个ajax调用(相同的请求)时,结果看起来与第一个调用相同,即使它不应该是相同的

我的请求是这样的:

this.getemploye = function (isaftersave) {
    $http({
        url: 'Contact.svc/getemployee',
        method: "GET"
    }).success(function (data) {
        //The data result is always the same with IE.
    });

};

请注意,我对Chrome和FireFox没有问题。IE的版本是11。

IE将积极缓存所有ajax调用(实际上几乎所有调用)。您需要在服务器的HTTP响应头上设置缓存选项

如果不希望缓存,则需要将缓存控制头添加到从服务器发送的ajax响应中

Cache-Control: no-cache, no-store
作为额外的措施,您应该在$http调用中设置cache:false

$http.get('https://api.myapp.com/someresource', { cache: false });
如果您没有修改服务器的权限,每次都可以在url上添加一个随机查询字符串,这将迫使IE重新发出请求,因为它以前不会看到该url

this.getemploye = function (isaftersave) {
    $http({
        url: 'Contact.svc/getemployee?nocache=' + new Date().toISOString(),
        method: "GET"
    }).success(function (data) {
    });

};

'Contact.svc/getemployee?nocache='+new Date().toISOString()'的效果非常好!谢谢:)