一部のデータを単一のオブジェクトとして非同期に送信しようとしています。データの半分は私のKnockoutJSviewModelから来ています。残りの半分は、それに追加したいデータです。
私の考えは、両方をJSONオブジェクトに変換してから、配列.concatを使用してそれらをまとめることでした。しかし、これは機能していません。理由をご存知ですか?
私はいくつかの解決策を試しました。最初のメソッドは、JSON文字列からオブジェクトを構築し、JSON.parseを使用してそれらをオブジェクトとして配置します。2つ目は、文字列を完全に回避しようとします。いずれにせよ、オブジェクトを取得した後、それらを連結しようとしますが、運がありません。
文字列付き
toAddString = '{"file": "thefile"}';
toAddObj = JSON.parse(toAddString);
koString = ko.toJSON(viewModel);
koObj = JSON.parse(koString,null,2);
finalObj = koObj.concat(toAddObj);
オブジェクト付き
toAddObj = [{"file": "thefile"}];
koObj = ko.toJS(viewModel);
finalObj = koObj.concat(toAddObj);
オブジェクト付き(2)
toAddObj = new Object();
toAddObj.file = "one";
koObj = ko.toJS(viewModel);
finalObj = koObj.concat(toAddObj);
ここで何がうまくいかないか知っていますか?
私が欲しいのは、これらの各ソースからのデータを含む、配列またはJSONオブジェクトである単一のオブジェクトです。