亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 jquery Json 返回值迭代 AC# 字典

使用 jquery Json 返回值迭代 AC# 字典

C#
夢里花落0921 2022-12-24 12:28:50
我有一個包含字符串的字典:例如鍵:“X”值:“Y”這是通過我的控制器中的 JsonResult 返回的: public JsonResult GetMachineSettings(string machine)    {        DataTable _dt = getmysettings_SqlCall;        TaskSetting _mr= new TaskSetting(); //simply a dictionary of string,string        foreach (DataRow _row in _dt.Rows)        {            _mr.Settings.Add( _row.Field<string>("SettingKey"),             _row.Field<string>("SettingValue"));        }        return Json(_mr);    }這已被調用并通過 jquery Ajax 調用返回:<script type="text/javascript">$('#machines').change(function () {   $(this).parents('form').submit();    $.ajax({        type: 'POST',        url: '@Url.Action("GetMachineSettings")', // we are calling json method        dataType: 'json',        data: {            _items: $("#machines").val() },        success: function(_items) {            var a=JSON.parse(_items);            $.each(a.Record, function (i, record) {                    alert(record.key + " " + record.value);            });        },        error: function(ex) {            alert('Failed to retrieve Tasks.' + ex);        }    });    return false;});但它失敗了,并以 Json 格式發布了一個包含我所有數據的字符串,因為 foreach 循環中存在空引用異常:{“設置”:{“X”:“Y”}}我想做的是顯示一個簡單的警報(此時),它將顯示鍵/值對(更好的是,每個鍵的警報,然后是值)。但我不確定這是如何實現的。
查看完整描述

1 回答

?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

我試圖重現您的代碼,將 AJAX 調用更改為此


刪除var a=JSON.parse(_items);因為 _items 已經是 JSON 對象


在方法中更改訪問(鍵,記錄)的each 方式。


請注意,您的 財產Settings不在.TaskSettingRecord


 $.ajax({

        type: 'POST',

        url: '@Url.Action("GetMachineSettings")', // we are calling json method


        dataType: 'json',


        data: {

            _items: $("#machines").val()

        },

        success: function (_items) {

            //var a = JSON.parse(_items);

            $.each(_items.Settings, function (key, record) {

                console.log(key + " " + record);

            });

        },

        error: function (ex) {

            alert('Failed to retrieve Tasks.' + ex);

        }

    });


查看完整回答
反對 回復 2022-12-24
  • 1 回答
  • 0 關注
  • 93 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號