簡體   English   中英

控制器無法檢索Ajax發布Json數組

[英]Ajax posting Json array is not retrieved by controller

使用Javascript

var poItemData = JSON.stringify(grid.getAll());
        poItemData = JSON.stringify({ 'poItemData': poItemData });
        alert(poItemData.toString());
        $.ajax({
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            type: 'POST',
            url: "@Url.Action("CreateOrUpdate2", "PurchaseOrder")",
            data: poItemData,
            success: function () {
                alert("Ok");
            },
            failure: function (response) {
                alert("!Ok");
            }
        });

發表Json

{"poItemData":"[{"id":3,"itemName":"Item 1","itemId":1,"poId":2,"quantity":100,"averageCost":100,"recordStatus":"O"},{"id":4,"itemName":"Item 2","itemId":2,"poId":2,"quantity":1000,"averageCost":10,"recordStatus":"O"}]"}

調節器

public IActionResult CreateOrUpdate2(List<PurchaseOrderItemList> poItemData)
    {
        return View();
    }

實體

public class PurchaseOrderItemList
{
    public int Id { get; set; }
    public string ItemName { get; set; }
    public int ItemId { get; set; }
    public int POId { get; set; }
    public decimal Quantity { get; set; }
    public decimal AverageCost { get; set; }
    public string RecordStatus { get; set; }
}

控制器未檢索發布的Json。 我想以列表的形式檢索發布的結果。 請幫忙解決

我的項目運行在.net核心1.0.0框架上。

正如某人已經發布的那樣,試試吧

formatedData = JSON.stringify(poItemData);
...
data: formatedData,

我會將方法簽名更改為

[HttpPost]
public IActionResult CreateOrUpdate2(PurchaseOrderItemList[] poItemData)

因為我不確定你是否可以直接在方法中接收List實例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM