我在客戶端有一系列敲除綁定的複選框,我需要通過AJAX傳遞給需要請求的JSON格式的服務器。前端的複選框如下所示:將JSON對象的列表作爲JSON對象進行挖空
<div data-bind="foreach: Items">
<input type="checkbox" data-bind="checkedValue: $data, checked: $root.returnedItems, attr: { value: itemNumber}" />
</div>
通過將checkedValue設置爲$ data,它將Item對象存儲在數組中。
,處理AJAX調用JS的是大致這(改變有些是因爲內部公司的輔助功能,可讓不同):
self.returnedItems = ko.observableArray()
self.showArray = function() {
$.ajax({
type: 'POST',
url: url,
data: ko.toJSON(self.returnedItems()),
dataType: 'json',
});
}
的ko.toJSON(self.returnedItems())
用於打開對象的列表爲JSON字符串通過。但是,它給我的結果是:
[{「item」:「12088」,「desc」:「Radio」,「qty」:1},{「item」:「1T1S」, 「desc」:TV「,數量」:1}]
這本身並不是正確的JSON格式需要看起來像這樣:
{itemList中:[{ 「項目」: 「12088」, 「說明」: 「收音機」, 「數量」:1},{ 「項目」: 「1T1S」 ,「desc」:TV「,數量」:1}]}
但我不能爲我的生活找到一個很好的方式太做到這一點不改變AJAX調用發送此:
data: "{itemList:" + ko.toJSON(self.returnedItems()) + "}"
其中一期工程,但似乎哈克。是否有一種更簡單的方法來在Knockout中傳遞格式良好的JSON對象列表?
這很完美!我知道這看起來沒有什麼區別,但清理這些加號是很有幫助的。謝謝 – DasBeasto