Ajax запрос в контроллер и получение Json ответа

Простой пример как запросить из контроллера список объектов в JSON формате, для дальнейшей работы с ними в представлении.

Скрипт в представлении

@*Поставщик*@
<div class="form-group">
    @Html.DisplayName("Поставщик")
    <select class="supplier-select"></select>
</div>

<script>
    $(document).ready(function () {
		 $.ajax({
            url: "/Suppliers/AjaxGetSuppliersList/",
            method: "GET",
            success: function (response) {
                data = JSON.stringify(response.suppliers);
                var list = eval("(" + data + ")");
                suggest_count = list.length;
                if (suggest_count > 0) {
                    $('.supplier-select').empty();//Очистим список элементов
                    //полученный список элементов добавим в селект
                    $.each(response.suppliers, function (key, value) {
                        $('.supplier-select').append('<option value="' + value.Id + '">' + value.Name + '</option>');
                    });
                }
            }
        });
		  });
</script>

Контроллер

[HttpGet]
public ActionResult AjaxGetSuppliersList()
{
	List suppliers = Supplier.GetSuppliers();
	return Json(new { suppliers }, JsonRequestBehavior.AllowGet);
}

Добавить комментарий