К таблице не добавляются данные ajax, вместо этого в браузере отображается массив json - PullRequest
0 голосов
/ 05 июля 2018
 <script>
    $(document).ready(function () {
        $('#btnClick').click(function () {
            $.ajax({
                url: '/jQueryPratice/HandleJsonArray',
                dataType: 'json',
                method: 'post',
                success: function (data) {
                    var roleTable = $('#tblRole tbody');
                    $(data).each(function (index, role) {
                        roleTable.append('<tr><td>' + role.RoleDescription + '</td><td>' + role.RoleShortDescription + '</td></tr>')
                    });
                }
            });
        });
    });
</script>

и в поле зрения

<body>
<hr />
<input type="button" value="Click" id="btnClick" />
<br /><br />
    <table id="tblRole" border="1">
        <thead>
            <tr>
                <th>
                    RoleDescription
                </th>
                <th>
                    RoleShortDescription
                </th>
            </tr>
        </thead>
        <tbody></tbody>
    </table>

теперь я хочу добавить таблицу при нажатии кнопки. Я получаю данные от звонка, но он не привязывает данные, вместо этого в браузере я получаю чистый массив Jaon. Что я должен сделать, чтобы связать массив с таблицей?

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

Мне просто нужно было передать список json в представление вместо прямого возврата, как

public ActionResult Index()
{
    return View();
}
public ActionResult HandleJsonArray()
{
    //get roles
    return Json(roles, JsonRequestBehavior.AllowGet);
}
0 голосов
/ 05 июля 2018

Возможно, вы возвращаете данные непосредственно из метода вызова ajax в браузер. попробуйте сначала получить данные для просмотра, а затем добавить их.

    public ActionResult Index()
    {
        return View();
    }

создайте свою таблицу и кнопку в этом представлении. Затем используйте другой метод действия, чтобы возвратить вашу коллекцию вот так

public ActionResult HandleJsonArray()
    {
        //get roles
        return Json(roles, JsonRequestBehavior.AllowGet);
    }

Надеюсь, это сработает для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...