web-dev-qa-db-ja.com

暫定ヘッダーが表示され、保留中の要求

私はvue-resourceに問題があり、Chromeに暫定ヘッダーが表示されます、一方でJqueryを使用すると問題なく動作します

問題はchrome + vue-resourceでのみ発生します

Error

複製リンク

Chrome 57.0.2987 Windows 7

adblockまたはOriginがインストールされていません。Chromeのゲストモードでも発生します

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/

再現する手順

通常、ページを数時間開いたままにしておきます

何が期待されますか?

コンテンツが提供された200コードの応答

実際に何が起こっていますか?

私はこれらのヘッダーでリクエストを受け取ります

リクエストURL: http://127.0.0.1:8080/monitor/summary.php リファラーポリシー:no-referrer-when-downgradeリクエストヘッダー

暫定ヘッダーが表示されますAccept:application/json、text/plain、/Content-Type:application/json; charset = utf-8 Origin: http://127.0.0.1:808 Referer: http://127.0.0.1:8080/monitor/ User-Agent :Mozilla/5.0(Windows NT 6.1; WOW64)AppleWebKit/537.36(KHTML、Geckoなど)Chrome/57.0.2987.133 Safari/537.36 X-Requested-With:XMLHttpRequest

chrome:// net-internals /#eventsを見ると、失敗の原因は

85487:URL_REQUEST http://127.0.0.1:8080/monitor/summary.php 開始時間: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] CANCELED-> net_error = -2(ERR_FAILED)t = 53212 [st = 24184] -REQUEST_ALIVE

10
Tarik

これは、実際のリクエストが送信されない場合、通常はキャッシュされたリソースをロードしている場合に発生すると考えています。

基本的に、ポート8080にPOSTリクエストを送信しました。これにより、インスペクターに表示される「注意:仮ヘッダーが表示されます」というメッセージが表示され、リクエストがすべて一緒にブロックされたようです。

それに基づいて、可能な1つの解決策は、通常のSSLポート443から8080のノードSSLポートにリクエストをプロキシで渡すnginxをセットアップすることです(prodでrootとして実行できないため、ノードは上位ポートにある必要があります)。 Chromeは、型破りなSSLポートへのSSL要求を好まないが、エラーメッセージがより具体的である可能性があることに私は間違いなく同意する。

2
lax1089