我在javascript对象中有一个数组。我正在使用jquery ajax调用来处理对象。使用KnockoutJS,{ko.toJSON}我得到了javascript对象的json字符串。然后使用Json.parse()将字符串传递给调用服务堆栈服务的ajax调用。我正在使用服务堆栈来处理对象。 我在服务中的testArray中什么都没得到 请指导我解决这个问题。代码段如下
为什么它没有在测试数组中提供任何内容
//View Model
vmSaveCompanySettings = function () {
var self = this;
self.ClientName = ko.observable("");
self.CompanyContact = ko.observable("");
self.testArray=["1","2"];
};
//Ajax call
function SaveCompanySettings() {
var jsondata = ko.toJSON(objvmSaveCompanySettings, ['ClientName', 'CompanyWebsite','testArray'])
$.ajax({
crossDomain: true,
type: "GET",
dataType: "jsonp",
data: JSON.parse(jsondata),
processdata: true,
success: function (msg) {
if (msg.ErrorMsg == "") {
GetCompanySettings();
}
},
error: function (result) {
}
});
}
'Service Request method in the service stack
Public Class UpdateCompanySettingsRequest
Implements IReturn(Of UpdateCompanySettingsResponse)
Public Property ClientName As String
Public Property CompanyWebsite As String
Public Property testArray As List(Of String)
End Class
答案 0 :(得分:3)
在jQuery ajax调用中,对于data属性,请尝试:
data: JSON.stringify(jsondata),
在传递数组时,这解决了普通MVC3 / 4站点中的问题。