2017-11-23 3 views
0

私が持っているもの:時間違反のないXMLhttpRequest.Responseベースのアラートを処理するには?

投稿時に添付ファイルが添付されたフォームは、XMLhttpRequest(JSON内)経由で外部サーバーに送信されます。私は応答を得て、データが提出された場合、または欠落している情報があればユーザは警告ウィンドウを取得します。

問題:readystate == 4で明らかにwindow.alertは良いアイデアではありませんので、

は、しかし、クロムは、それとあまりにも幸せではないでしょうか?

エラーメッセージのmsは、ユーザーが[OK]をクリックするのにかかる時間のようです。 下記参照エラーメッセージ:

[Violation] 'readystatechange' handler took 3203ms 

これは、問題のコードです:

abc.onreadystatechange = function() { 
    if (abc.readyState == 4) { 
    var answer = abc.response; 
    if (answer.success) { 
    // alert("Data was sent. Number: " + answer.Number); 
     console.log("Data was sent. Number: " + answer.Number); 
    } 
    else { 
     //alert("Data is missing: " + answer.message); 
     console.log("Data is missing: " + answer.message); 
    } 
    } 
}; 

.responseの値に基づいてwindow.alert異なるを使用するより良い方法は何ですか?

+1

'alert'の代わりに' console.log'をどうやって使うのですか?また、あなたが投稿したコードをチェックすると、閉じ括弧* '}'が見つからないようですか? – gurvinder372

+0

コードが少し変更されたので分かりやすくなりました。私は 'alert'をコメントアウトし、' console.log'を追加しました。今回は警告はありません。 – Chris

+0

あなたの最初の前に、あなたはこの文を入れて、出力 'console.log(abc.readyState)'を共有できますか? – gurvinder372

答えて

0

これは、このthread

概要

新しいパフォーマンスAPIを1として長すぎる

を取っているこれらの機能を報告するために、クロムによってスロー一般的な違反の警告メッセージのようです "長いタスク"の存在をアプリケーションが検出できるようにして、 時間の長時間UIスレッドを独占し、他のcriticaをブロックするlタスクが実行されないようにする。 ユーザー入力に反応します。あなたが受け取ったメッセージで行く

クロムを使用すると、警告ボックスを閉じるために3秒かかった警告を投げたように、それが見えます。また

  • これは単なる警告で、あなた開発ツールのコンソールにログレベル を選択することで、この警告を非表示にすることができます。
  • alertではなく、デバッグにconsole.logを使用してください。
関連する問題