j'ai un problème avec vue-resource provoquant un Les en-têtes provisoires sont affichés sur chrome, en utilisant Jquery d'autre part, travailler sans aucun problème
le problème ne se produit qu'avec chrome + vue-resource
Chrome 57.0.2987 Windows 7
je n'ai pas adblock ou Origin installé, et cela arrive même en mode invité sur chrome
un simple appel établi avec setInterval
new Vue({
el: '#main',
data: {
summary: null
},
methods: {
updateSummary: function() {
/*
$.post( "summary.php", function( data ) {
if(typeof response.body.summary != 'undefined'){
this.summary = response.body.summary;
}
});
*/
this.$http.post('summary.php').then(function(response) {
if(typeof response.body.summary != 'undefined'){
this.summary = response.body.summary;
}
});
}
},
mounted: function () {
this.updateSummary();
setInterval(function () {
this.updateSummary();
}.bind(this), 2000);
}
});
https://jsfiddle.net/7vo2s8z3/1/
cela se produit généralement lorsque je laisse la page ouverte pendant quelques heures
une réponse de 200 codes avec le contenu servi
je reçois une demande avec ces en-têtes
URL de demande: http://127.0.0.1:8080/monitor/summary.php Politique de référent: en-têtes de demande no-referrer-when-downgrade
Les en-têtes provisoires sont affichés Accepter: application/json, text/plain, / Content-Type: application/json; charset = utf-8 Origine: http://127.0.0.1:808 Référent: http://127.0.0.1:8080/monitor/ User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/57.0.2987.133 Safari/537.36 X-Requested-With: XMLHttpRequest
et en regardant chrome: // net-internals/# events la cause de l'échec est
85487: URL_REQUEST http://127.0.0.1:8080/monitor/summary.php Heure de début: 2017-04-18 09: 38: 43.826
t = 29028 [st = 0] + REQUEST_ALIVE [dt = 24184] -> priority = "MEDIUM" -> url = " http://127.0.0.1:8080/monitor/summary.php = "t = 29029 [st = 1] + DELEGATE_INFO [dt = 24183] -> delegate_blocked_by =" RedirectToFileResourceHandler "t = 53211 [st = 24183] ANNULÉ -> net_error = -2 (ERR_FAILED) t = 53212 [st = 24184] -REQUEST_ALIVE
Je crois que cela se produit lorsque la demande réelle n'est pas envoyée, généralement lorsque vous chargez une ressource en cache.
Fondamentalement, vous avez envoyé une demande POST au port 8080, ce qui a provoqué le message "ATTENTION: les en-têtes provisoires sont affichés", comme indiqué dans l'inspecteur, puis il semble que la demande ait été bloquée tous ensemble.
Sur cette base, une solution possible consiste à configurer nginx pour transmettre par proxy la demande du port SSL habituel de 443 au port SSL de noeud de 8080 (le noeud doit être sur un port plus élevé car il ne peut pas être exécuté en tant que root dans prod). Je suppose que Chrome n'aime pas les demandes SSL vers des ports SSL non conventionnels, bien que je convienne définitivement que leur message d'erreur pourrait être plus spécifique.