2011-07-27 2 views
0

jqgridにajaxを表示する際に、良いhtml/javascriptプログラムを作成しました。しかし、ちょうど最近、テーブル・ラインに保存するために大量または多数のデータを保存しようとすると、http:errorが返されることに気付きました。jquery ajaxを使用して大きなデータを追加する際のHTTPエラー

少数の行をうまく保存できたとき、私は本当に何が間違っているのか分かりません。誰かが、自分のWebサービスを作成するのに使ったデルファイを使ってトレースしようとしたときに問題があったので、多くの行を保存するときには自分のコードに入りませんので、私のhtml/javascriptだと教えてくれました。私は保存する10行未満のデータしかない場合(トレースにエラーはありません)、私のコードに入ります。ここで私は自分のWebサービス/ htmlの要求に送信していたデータです:

{ 
"SessionID":"66KuzRH1w1sWCM188q4k8BTJb5ijG81v", 
"operation":"add", 
"transaction_date":"7/27/2011", 
"supplier_id":"10000000108", 
"wood_specie_id":"1", 
"lines":[ 
    {"plank_number":"1","thickness":"4","width":"6","length_t":"8","quantity":"1","board_foot":"16.00","wood_classification_id":"1","price":"15"}, 
    {"plank_number":"2","thickness":"45","width":"6","length_t":"8","quantity":"1","board_foot":"180.00","wood_classification_id":"1","price":"15"}, 

    . 
    . 
    . 
    . 
    {"plank_number":"22","thickness":"3","width":"6","length_t":"8","quantity":"1","board_foot":"12.00","wood_classification_id":"1","price":"15"}, 
    {"plank_number":"23","thickness":"4","width":"6","length_t":"7","quantity":"1","board_foot":"14.00","wood_classification_id":"1","price":"15"} 
    ], 
"scaled_by":"JAYSON","tallied_by":"TALLIED BY","checked_by":"CKECKED BY","total_bdft":"582.84","final":"" 
} 

ここでコードが私のラインのデータを追加するには:

function tallyAddData(){ 
    var datas = { 
    "SessionID": $.cookie("SessionID"), 
    "operation": "add",  
    //"transaction_num":$('#tallyNo').val(), 
    "transaction_date":$('#tallyDate').val(), 
    "supplier_id":$('#supplierInput').attr("name"), 
    "wood_specie_id":$('#woodSpecie').attr("name"), 
    "lines":plank_data, 
    "scaled_by":$('#tallyScaled').val().toUpperCase(), 
    "tallied_by":$('#tallyTallied').val().toUpperCase(), 
    "checked_by":$('#tallyChecked').val().toUpperCase(), 
    "total_bdft":$('#tallyTotal').val(), 
    "final":"", 
    }; 
    alert(JSON.stringify(datas)); 
    $.ajax({ 
    type: 'GET', 
    url: 'processjson.php?' + $.param({path:'update/tallyHdr',json:JSON.stringify(datas)}), 
    dataType: primeSettings.ajaxDataType, 
    success: function(data) { 
     if ('error' in data) 
     { 
     showMessage('ERROR: ' + data["error"]["msg"]); 
     } 
     else{ 
     $('#tblTallyHdr').trigger('reloadGrid'); 
     } 
    } 
    }); 
} 

答えて

1

あなたがデータを渡すためにクエリ文字列を使用している - クエリを文字列サイズが限られている(http://en.wikipedia.org/wiki/Query_string)私はポストとしてデータを渡すにお勧め :あなたはまた、jQueryのポスト(HTTPについて読むことができます

$.ajax({ 
    type: 'POST', 
    url: url, 
    data: data, 
    success: success, 
    dataType: dataType 
}); 

:// API。 JQ uery.com/jQuery.post/)

+0

私のコードを変更しましたが、動作しませんでした。私はまだ 'HTTPエラー'を取得します。 :( – jayAnn

+0

http://www.fiddler2.com/fiddler2/を試してみてください。リクエスト結果を見ることもできます。http://getfirebug.com/もっとフレンドリーです – kleinohad

+0

データは大丈夫ですが、大きなデータでは続行できないように見えますし、 'XMLHTTPRequest'が赤色に変わり、エラーが出てしまいます。 – jayAnn

関連する問題