2017-08-18 97 views
3

那么,虽然我开发的测试管理页面,

微软边缘发生了一个奇怪的问题。

这里的源代码部分获取自loginCtrl.js

 $http({ 
      method: 'POST', 
      url: Define.apiUrl + 'admin/login', 
      data: { 
       user_id: $scope.login_email, 
       password: $scope.login_password 
      } 
     }) 
     .then(function (response) { 
      if (response.data.success) { 
       $cookieStore.put(Define.userInfo, response.data.info); 
       $cookieStore.put(Define.userToken, response.data.token); 
      } 
     }, function (data) { 
      console.log('errors!'); 
      console.log(data); 
     }); 

这在Chrome和IE

但在微软边缘效果良好的服务器响应,这将返回错误一样低于

data = null 
status = -1 
statusText = "" 

以下是相关文件的状态。

 # loginCtrl.js 


     ## Chrome response status 

     Accept-Ranges:bytes 
     Cache-Control:public, max-age=0 
     Connection:keep-alive 
     Content-Length:1877 
     Content-Type:application/javascript 
     Date:Fri, 18 Aug 2017 04:06:49 GMT 
     ETag:W/"755-15df385a23e" 
     Last-Modified:Fri, 18 Aug 2017 04:06:47 GMT 


     ## Chrome request status 

     Accept:'*/*' 
     Accept-Encoding:gzip, deflate, br 
     Accept-Language:ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4 
     Connection:keep-alive 
     Host:localhost:9000 
     If-Modified-Since:Fri, 18 Aug 2017 02:51:00 GMT 
     If-None-Match:W/"6f5-15df340413d" 
     Referer:http://localhost:9000/ 
     User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
     AppleWebKit/537.36 (KHTML, like Gecko) 
     Chrome/60.0.3112.101 Safari/537.36 


     ## Edge response status 

     Accept-Ranges: bytes 
     Cache-Control: public, max-age=0 
     Connection: keep-alive 
     Content-Length: 1807 
     Content-Type: application/javascript 
     Date: Fri, 18 Aug 2017 02:06:14 GMT 
     ETag: W/"70f-15df3173adf" 
     Last-Modified: Fri, 18 Aug 2017 02:06:12 GMT 


     ## Edge request status 

     Accept: application/javascript, '*/*'; q=0.8 
     Accept-Encoding: gzip, deflate 
     Accept-Language: ko-KR 
     Connection: Keep-Alive 
     Host: localhost:9000 
     Referer: http://localhost:9000/ 
     User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
     AppleWebKit/537.36 (KHTML, like Gecko) 
     Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063 

我想知道为什么只有Edge无法得到正确的回应。

我试着制作'Content-Type','Cache-Control'或像cache:false这样的配置。

但这些无法解决这个问题。

我错过了什么?

PLZ任何帅还是蛮程序员救救我

+1

您在响应标题中的内容类型是text/css?您是否使用Edge调试服务器上的请求和响应?我几乎认为Content-Type与您的错误有关。 –

+0

@VuQuyet哦我的..我带来的是错误的状态.. Thx现在我纠正 –

回答

1

我试图找到这个解决方案,最后我得到了一个。

一些答案建议加上标签,如

<meta http-equiv="Cache-Control" content="no-cache" /> 
<meta http-equiv="Pragma" content="no-cache" /> 
<meta http-equiv="Expires" content="Mon, 26 Jul 1997 05:00:00 GMT" /> 

或添加代码到config

$httpProvider.defaults.headers.get['If-Modified-Since'] = 'Mon, 26 Jul 1997 05:00:00 GMT'; 
// extra 
$httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache'; 
$httpProvider.defaults.headers.get['Pragma'] = 'no-cache'; 

但这些未能解决这个问题。

最后我看到一个答案,说这可能是由Edge中的一种策略处理缓存发生的。

当我使用本地服务器发送请求或获取响应时,可能会发生这种情况。

当在其他服务器上不在本地进行测试时,它会消失。

其实,我仍在使用本地服务器,所以我不知道这个工作与否。