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');
}
}
});
}
私のコードを変更しましたが、動作しませんでした。私はまだ 'HTTPエラー'を取得します。 :( – jayAnn
http://www.fiddler2.com/fiddler2/を試してみてください。リクエスト結果を見ることもできます。http://getfirebug.com/もっとフレンドリーです – kleinohad
データは大丈夫ですが、大きなデータでは続行できないように見えますし、 'XMLHTTPRequest'が赤色に変わり、エラーが出てしまいます。 – jayAnn