2016-07-16 3 views
0

мы используем $ http.post для отправки запроса на наш сервер, и когда сервер не отвечает вовремя (около 3 секунд), наш клиент angularjs отправляет другой http.post. Мы отслеживали это с помощью tcpdump, и мы видим 2 разных $ http.post.

Это наш контроллер:

var request = Local.testPost(); 
request.then(function successCallback(response) { 
    console.log(response); 
}, function errorCallback(error) { 
    console.log(error); 
}); 

И это наша Местная почтовая служба:

this.testPost = function(){ 
    var data = 'token='+User.getToken(); 

    var request = $http(
     { 
      method: 'post', 
      headers: { 
       'Content-Type': 'application/x-www-form-urlencoded' 
      }, 
      url: self.server+'/api/cmd', 
      data: data 
     } 
    ); 
    return request; 
}; 

Наши сервера журналы 2 разные пост тоже ...

Как possibile? Спасибо всем!

UPDATE: Tcpdump Log

16:53:38.058379 IP 192.168.1.66.52515 > 8.ip-xxxxxx.eu.http: Flags [P.], seq 581:1162, ack 355, win 4106, options [nop,nop,TS val 206302095 ecr 194158267], length 581: HTTP: POST /api/cmd HTTP/1.1 

16:53:41.843608 IP 192.168.1.66.52515 > 8.ip-xxxxx.eu.http: Flags [.], ack 709, win 4095, options [nop,nop,TS val 206305864 ecr 194161726], length 0 

16:53:41.848302 IP 192.168.1.66.52515 > 8.ip-xxxxx.eu.http: Flags [F.], seq 1162, ack 709, win 4096, options [nop,nop,TS val 206305868 ecr 194161726], length 0 

16:53:41.848918 IP 192.168.1.66.52522 > 8.ip-xxxxxx.eu.http: Flags [S], seq 4161058194, win 65535, options [mss 1460,nop,wscale 5,nop,nop,TS val 206305868 ecr 0,sackOK,eol], length 0 

16:53:41.884020 IP 192.168.1.66.52522 > 8.ip-xxxxxxx.eu.http: Flags [.], ack 3569763921, win 4117, options [nop,nop,TS val 206305903 ecr 194161768], length 0 

16:53:41.884246 IP 192.168.1.66.52522 > 8.ip-xxxxxx.eu.http: Flags [P.], seq 0:581, ack 1, win 4117, options [nop,nop,TS val 206305903 ecr 194161768], length 581: HTTP: POST /api/cmd HTTP/1.1 

16:53:41.884701 IP 192.168.1.66.52515 > 8.ip-xxxxxx.eu.http: Flags [.], ack 710, win 4096, options [nop,nop,TS val 206305903 ecr 194161768], length 0 

16:53:45.629884 IP 192.168.1.66.52522 > 8.ip-xxxxxx.eu.http: Flags [.], ack 355, win 4106, options [nop,nop,TS val 206309616 ecr 194162704], length 0 

16:53:54.452688 IP 192.168.1.66.52435 > 8.ip-xxxxxx.eu.http: Flags [.], ack 5234, win 4096, options [nop,nop,TS val 206318403 ecr 194164846], length 0 

16:53:54.452696 IP 192.168.1.66.52435 > 8.ip-xxxxxx.eu.http: Flags [.], ack 5234, win 4096, options [nop,nop,TS val 206318403 ecr 194164846], length 0 

16:53:54.452719 IP 192.168.1.66.52435 > 8.ip-xxxxxx.eu.http: Flags [F.], seq 1261, ack 5234, win 4096, options [nop,nop,TS val 206318403 ecr 194164846], length 0 
+0

Каких инструментов для разработчиков сеть вкладки демонстрирующих? Вы можете получить скриншот? –

+0

На вкладке сети я вижу только один запрос отправки ... – lukabers

+0

В этом случае это может быть связано с сервером. Какой ваш стек сервера? И будет ли поведение совместимым с разными браузерами? –

ответ

1

одна возможная причина может быть, если ваш сервер отвечает 408 статус, в этом случае некоторые повторная попытка автоматического запуска. Вы не должны отвечать 408, если это не «реальный» 408.

посмотреть на это: https://github.com/angular/angular.js/issues/4806

ура

+0

Спасибо, это была проблема ..... – lukabers

Смежные вопросы