0

jquery ajax メソッドの data プロパティを設定して、EngineSpecs というプロパティを持つ JavaScript オブジェクトを含めることができません。

テストするためにこのようなものを思いつきましたが、機能していません:

var myObject = new Object();
myObject.EngineSpecs = {};


var data = {
       myObject.EngineSpecs : [{
            EngineID: 100010017,
            Displacement: 7.2,
            Gas: false
            }, {
            EngineID: 300200223,
            Displacement:  3.2,
            Gas: true
       }]
};

$.ajax({
        url: someurl,
        dataType: "json",
        data: myObject

次のようなエラーが発生し続けます。

Message":"エラーが発生しました。","ExceptionMessage":"現在の JSON オブジェクトを逆シリアル化できません

どんな助けでも大歓迎です!

4

2 に答える 2

1

オブジェクトのプロパティ名として使用しようとしていますがmyObject.EngineSpecs、これは許可されていません (途中に . があるため)。代わりにこれを行います:

var data = {
       myObject: {
            EngineSpecs : [{
              EngineID: 100010017,
              Displacement: 7.2,
              Gas: false
            }, {
              EngineID: 300200223,
              Displacement:  3.2,
              Gas: true
            }]
       }
};

または、おそらくあなたが本当に望んでいたのは:

  var myObject = {
        EngineSpecs : [{
          EngineID: 100010017,
          Displacement: 7.2,
          Gas: false
        }, {
          EngineID: 300200223,
          Displacement:  3.2,
          Gas: true
        }]
   };
于 2013-04-09T16:08:17.973 に答える