0

そのため、AJAX を介してコントローラー メソッドに GET を実行し、JSON を返します。JSON を返すことは問題ありませんが、パラメーターを送信して単純なオブジェクトを構築することはできません。結果はそのオブジェクトのデフォルト値になります!

何か案は?

モデル:

public class CoreViewModel
{
public int Id {get; set;}
public int ExtensionId {get;set;}
public string Zip {get; set;}
public int ShopId {get; set;}
}

コントローラ:

public ActionResult GetDetails(CoreViewModel model)
        {
            return Json(new DetailsViewModel(model), JsonRequestBehavior.AllowGet);
        }

アヤックス:

 $.ajax({
                type: "GET",
                url: serviceUrl + "GetDetails/",
                contentType: "application/json; charset=utf-8",
                crossDomain: false,
                cache: false,
                dataType: 'json',
                data: '{"Zip":"@Model.Zip","ShopId":@Model.ShopId,"ExtensionId":@Model.ExtensionId,"Id":@Model.Id}', 
                success: function(data) {

                    };

                },

.. ..

4

2 に答える 2

0

修繕。

先頭と末尾の ' を削除します。(一重引用符)

于 2013-09-27T00:19:05.693 に答える
0

以下のようにデータを送信してみてください

  data:JSON.stringify({"Key":"value"}),
于 2013-09-28T13:59:11.200 に答える