3

何らかの理由で、投稿された (serializeArray) フォーム データを ServiceStack にシリアライズすることができません。投稿されたjsonは次のとおりです。

{"somestuff":"someData","formInput":[{"name":"1","value":"2"},...]}

フォームを投稿するために使用しているjQuery:

var formData = $("form").serializeArray();
            var data = {
                someOtherFields: some data,
                formInput: formData
            };
            $.ajax({
                type: "post",
                url: "/api/location",
                data: data,
                dataType: "json",
                success: function(response) {
                    if (response.status == "success") {
                        scope.showForm = false;
                        scope.status = "successfully added message";
                    } else {
                        scope.status = response.message;
                    }
                }
            });

これは、DTO を使用して ServiceStack サービスに投稿しています。

public class ServiceRequest
{
     other atributes;
     public List<ArraySerializeResult> FormInput { get; set; }
}

public class ArraySerializeResult
{
     public string Name { get; set; }
     public string Value { get; set; }
}

他の属性は正常にシリアル化されますが、formInput は正しい数の要素を持つリストにシリアル化されますが、名前と値のペアはすべて null です。

4

2 に答える 2