3

誰でも私を助けることができます。私は phonegap アプリケーションを使用して Jquery-mobile で作業しています。サーバーからajax応答を取得すると同時にデータを追加するにはどうすればよいですか? ここでは、 800 kbを超えるデータがJson 形式でサーバーから取得されます。

これは私のコードです:

$.ajax({        
    url:url,
    data:'',
    contentType: "application/json; charset=utf-8",
    type: "POST",
    dataType: "json",
    crossDomain:true,
    cache: false,
    async:false,
    //success: loadAllCars,

    success:function(data){
       //alert(data)
    },
    error: OnError
}); 

たとえば、サーバーから取得すると同時にデータを取得したい:

800 KB を超えるサイズのデータ​​があり、800 KB の 10 KB サイズのデータ​​を取得した場合、追加の遅延を減らし、ユーザーの待機を回避するために、同時にそれをフェッチする必要があります

4

2 に答える 2

1

{}すべてのデータ オブジェクトが と でラップされているため、JSON は使用できません[]。これは、パーサーがそれをどう処理するか (つまり、オブジェクトを構築する方法) を認識するまで、ファイルの最後まで待たなければならないことを意味します。

おそらく、すべてのデータを「そのまま」送信する別のエンコーディングを使用できます。順序は重要ですが、「終了」マーク ( や など) はありませ}]

XMLHTTPRequest.onreadystatechange()のreadyStateを持つデータの受信ブロックごとに起動するメソッドを使用して3XMLHTTPRequest.resonseText. 次に、オブジェクトを送信する場合は自分でスマート バッファを作成するか、データが単なるテキストの場合はデータを直接表示する必要があります。

メソッドではこれができないと思いますjQuery.ajax()が、直接メソッドはそれほど難しくありません。

ところで; また、サーバーがローカルで多くのリソースを使用する必要がある場合に備えて、サーバーが時々データをフラッシュすることを確認する必要があります。例えば; 重い計算を行う場合、サーバーが次の結果を処理している間に、すべての結果をクライアントにフラッシュできます。

于 2013-05-24T07:15:52.500 に答える
1

この場合、JSON は有効ではありません。だからあなたはこれを行うことができませんでした:(

いずれにせよ、ロードの進行状況を表示できます。

jQueryでロードスピナーを表示するには?

于 2013-05-24T06:25:45.300 に答える