変なことに気がついた。私はいつも とnew Array()同じだと思っていましたが、Chrome デバッガーでは配列であるのに対し、単なるオブジェクト タイプのように{}見えるため、異なるようです。{}new Array()
だから私は使用してきました。 data は呼び出し$.param(data)からのデータです。データの中に aと aがあると、結果が異なること $.ajax()に気付きました。params1 = new Array()params2 = {}
params1 は
params1[]=1¶ms1[]=2
そして params2 は
params2[0]=1¶ms2[1]=2.
問題は、それが正しくシリアル化されていない.param(data, false)ことに気付いたために使用していたことですが、失敗して.params1[].param(data, false)params2params2=[object+Object]
.param(data) を使用して "[]" を取り除くだけでこれを回避できるので、{}orを使用して初期化されていnew Arrayても、正しく機能します。しかし、より良い解決策があるかどうか知りたいです(常に{}vsを使用することを除くnew Array)。