0

複雑な json オブジェクトを ajax jquery に投稿しようとしていますが、「0」、「1」をキーとして関連付けられた配列に変換せずに単純な配列を保持することは不可能のようです。

リクエスト:

var dimension_set = [{ 'x': 1, 'z': 2, 'y': 3 }, { 'x': 4, 'z': 5, 'y': 6 }];
var parameters = { "dimension_set": dimension_set };
jQuery.ajax({ type: 'POST', url: WEBSERVICE_URL, data: parameters });

パラメーター:

dimension_set[0][x]:1
dimension_set[0][z]:2
dimension_set[0][y]:3
dimension_set[1][x]:4
dimension_set[1][z]:5
dimension_set[1][y]:6

私はこれが欲しい間:

パラメーター:

dimension_set[][x]:1
dimension_set[][z]:2
dimension_set[][y]:3
dimension_set[][x]:4
dimension_set[][z]:5
dimension_set[][y]:6

これを取得する方法はありますか?


注: curl または http フォームを使用して実行できます。リクエスト:

curl -X POST WEBSERVICE_URL -F "dimension_set[][x]=1" -F "dimension_set[][y]=2" -F "dimension_set[][z]=3" -F "dimension_set[][x]=4" -F "dimension_set[][y]=5" -F "dimension_set[][z]=6"

サーバー側の印刷:

  Parameters: {"dimension_set"=>[{"x"=>"1", "y"=>"2", "z"=>"3"}, {"x"=>"4", "y"=>"5", "z"=>"6"}]}
4

1 に答える 1

0

jqueryの「機能」のようです。このドキュメント: http://api.jquery.com/jQuery.param/ の最後の行を参照してください。

$.param({ a: { b:1,c:2 }, d: [3,4,{ e:5 }] }) // "a[b]=1&a[c]=2&d[]=3&d[]=4&d[2][e]=5"

どうやら、私が望むもの (パラメーター配列 'd' にインデックスがない) は、複雑なオブジェクトでは不可能であり、整数に対してのみ可能です!

于 2013-04-30T13:08:31.350 に答える