将两个对象传递给服务器 AJAX

Pass two objects to server AJAX

本文关键字:服务器 AJAX 对象 两个      更新时间:2023-09-26

我有两个参数的服务器 mvc 操作:

[HttpPost]
public ActionResult TestActionPost(string applicationId, Dictionary<string, int> myDictionary)
{    
   return null;
}

和 ajax 请求:

<script type="text/javascript">
    $(document).ready(function () {
        $("#itemList").tableDnD({
            onDrop: function (table, row) {
                var items = $("table#itemList > tbody > tr[id]");
                var dict = [];
                var dataObject = [];
                $.each(items, function (index, value) {
                    dict.push({
                        key: value.id,
                        value: index
                    });
                });
                dataObject.push("123");
                dataObject.push(dict); 
                $.ajax({
                    url: "/Admin/Applications/TestActionPost/",
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    data: { applicationId: JSON.stringify(dataObject[0]), myDictionary : JSON.stringify(dataObject[1]) },
                    traditional: true,
                    dataType: "json",
                    success: function (response) {
                        alert(response);                        
                    }
                });
            }
        });
    });
</script>

我尝试将数据发送到服务器操作,但我的操作无法调用。我收到代码 HTTP 500。求求你,帮帮我!

我认为您对字典序列化的方式有问题,这会导致在调用操作时引发异常。本文解释了如何创建字典对象,然后可以通过 ajax 帖子发送该对象。