Работая в проекте Laravel, я пытаюсь использовать javascript Ajax для обновления параметров полей выбора формы, каждый раз, когда изменяется другое значение поля выбора.
В настоящее время у меня есть все данные, возвращаемые в мое представление, и я вижу их в журнале консоли.Я сталкивался с этой проблемой раньше, я в принципе не могу обернуть голову, как перебрать json-объект с помощью JavaScript.Я могу получить только в настоящее время получить один из двух результатов данных, возвращаемых для отображения в качестве опции выбора.
Приведенный ниже код от моего контроллера, который получает данные, когда сделан запрос ajax, вот как я 'В настоящее время я возвращаю данные.
$templates = DB::table('templates')->where("page_name", "=", $page)->get();
return response()->json([
'status' => true,
'templates' => $templates
]);
Вот так эти данные затем отображаются в консоли.
{status: true, templates: Array(2)}
status: true
templates: Array(2)
0:
created_at: "2019-06-17 22:29:44"
css: "somecss"
html: "somehtml"
id: 1
page_name: "page-1"
template_name: "template-1"
updated_at: "2019-06-17 22:29:44"
__proto__: Object
1:
created_at: "2019-06-18 01:30:49"
css: "somecss"
html: "somehtml"
id: 3
page_name: "page-1"
template_name: "template-2"
updated_at: "2019-06-18 01:30:49"
__proto__: Object
length: 2
__proto__: Array(0)
__proto__: Object
И, наконец, именно так я сейчас пытаюсь перебратьи отобразить эти данные, используя javascript / jquery.
success: function(data) {
if(data.status == true) {
$.each(data.templates, function(i, template) {
$('#template-select').html('<option value="' + template.template_name + '">' + template.template_name + '</option>');
});
}
}
В настоящее время только «шаблон-2» отображается в качестве параметра выбора, когда должны быть оба параметра «шаблон-1» и «шаблон-2».