1

JqueryでJsonデータを作成したい。

そのため、私はこのようにやっています.Iamは代わりにエラーを取得しています "customParam'+i+'Key:"

var counter=4;
var data;
    for(i=1; i<counter; i++){                 
             data = {
               "Param'+i+'Key:" : $('#key' + i).val(),
               "Param'+i+'Value:" : $('#value' + i).val()    
            }; 
    } 

ループ操作を実行した後、私のデータは

data={
             "Param1Key": testkey
             "Param1Value": ttestval
             "Param2Key":testkey
             "Param2Value": testval
             "Param3Key":testkey
             "Param3Value": ...
             "Param4Key":...
             "Param4Value": ...

};

また、私はに追加 "job": $('#job').val(),"names": $('#names').val()したいdata.どのように可能ですか???

私の結果のデータは以下のようになります

データ={

             "job": $('#job').val(),
             "names": $('#names').val(),
             "Param1Key": testkey,
             "Param1Value": ttestval,
             "Param2Key":testkey,
             "Param2Value": testval,
             "Param3Key":testkey,
             "Param3Value": ...,
             "Param4Key":...,
             "Param4Value": ...,

};


$.ajax({
            type: 'post',
            url: "/save",
            dataType: "json",
            data: data,

        });
4

3 に答える 3

2

dataこうでなければなりません。 一重引用符または二重引用符のいずれか

"Param"+i+"Key:" : $('#key' + i).val(),
"Param"+i+"Value:" : $('#value' + i).val()    

追加するには、次のようにしてください

data.job = $('#jobid').val();  
data.names = $('#names').val();
于 2013-08-29T10:27:26.430 に答える
1

これでうまくいくはずです。

var data = {
    "job": $('#job').val(),
    "names": $('#names').val()
};
for(i = 1; i <= 4; i++) {
    data["Param" + i + "Key"] = $('#key' + i).val();
    data["Param" + i + "Value"] = $('#value' + i).val();
} 
// Do things with data here
于 2013-08-29T10:30:03.517 に答える
1

JSON は、JavaScript オブジェクトを表す単純なテキスト形式です。AJAX 関数に送信するオブジェクトを構築する場合、JSON を使用する必要はありません。

AJAX 関数の dataType パラメータは、サーバーから返されると予想されるデータのタイプを参照します。そこでJSONの出番です。

最初に構造体を作成してから、ループ中に値を連想配列として追加できます。

var counter=4;
var data = {};
    for(var i=1; i<counter; i++){                 
          data["Param"+i+"Key"] = $('#key' + i).val();
          data["Param"+i+"Value"]= $('#value' + i).val();
    } 
data.job = $('#job').val();
data.names = $('#names').val();
于 2013-08-29T10:31:15.713 に答える