2

我在 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
4

1 回答 1

3

在您的 jQuery ajax 调用中,对于 data 属性,请尝试:

data: JSON.stringify(jsondata),

这解决了我在正常 MVC3/4 站点中传递数组时的问题。

于 2013-10-18T04:03:54.347 回答