6

巨大なデータでリクエスト POST を行いますが、リクエストの SEND に非常に時間がかかります。私はこのコードを持っているので、送信するだけだと言いました:

 console.time('post load');
var req= new Array;
                req = { 
                     'data' :   $('input[name="data"]', $('#id_contain')) .serialize()
                };

var request = $.ajax({
                                    url : '/url',
                                    type : "POST",
                                     data : req,
                                    cache : false,
                timeout: 10000,
                                    dataType : 'json',
                                    async:   false,
                                    success : function(response){
                               alert('yes');
                }, 
                                    error : function(jqXHR, textStatus,
                                            errorThrown) {
                                    //  if (debug_js) {
                                            console.log(jqXHR);
                                //      }
                                    }
                                });
               console.timeEnd('post load');
  console.log('data');

したがって、このコードによると、私のリクエスト(ロード後)は25秒ほどかかり、10秒のタイムアウトonajaxリクエストを取得しました。リクエストに時間がかかるのはjqueryだけだと思いますか?しかし、巨大なデータを単純な文字列で変更すると、0.01秒ほどかかります...だから、それは本当に私の巨大なデータによるものですか?

4

2 に答える 2

1

Niels が述べたように、バックエンド (サーバー側) の問題である可能性があります。最初にサーバー側の処理ロジックをコメントアウトしてみて、すぐに成功条件を返すことをお勧めします。それでもリクエストに時間がかかる場合は、間違いなく巨大なデータが原因であり、何らかのクライアント側のデータ圧縮を検討する必要がある場合があります。これを行うためのさまざまなオプションについて、ここでいくつかの分析が行われています。

于 2013-04-25T18:13:54.187 に答える