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 に答える