Я пытаюсь отобразить некоторые данные при вызове ajax. Ajax вызов возвращает данные успешно, и я просматриваю данные без каких-либо проблем, но в консоли он выдает мне эту ошибку:
javascript?v=1582240695:2106 Uncaught TypeError: Cannot read property 'length' of undefined
at child.<anonymous> (javascript?v=1582240695:2106)
at child.set (javascript?v=1582240695:162)
at child.<anonymous> (javascript?v=1582240695:294)
at child.set (javascript?v=1582240695:162)
at Array.<anonymous> (javascript?v=1582240695:973)
at Function.each (javascript?v=1582240695:2)
at child.dataChangeHandler (javascript?v=1582240695:967)
at child.showDataSet (javascript?v=1582240695:955)
at child.addDataSet (javascript?v=1582240695:917)
at Object.success (javascript?v=1582240695:932)
Я испробовал все решения онлайн, но ничего не кажется за работой. Вот мой код, который я использовал. (Я использую laravel 5.1 и jQuery v3.1.1)
//get class
$(document).on('change', '#branch_shift_version', function () {
var BranchShift = $(this).val() || 0;
if (BranchShift) {
$.ajax({
type: 'GET',
url: baseURL + '/!/Attendance/Student/GetClassesByIbvID/' + BranchShift,
success: function (response) {
$('#class_for_filter').html(response);
}
});
}
});
В моем контроллере:
public function GetClassesByIbvId($IbvID)
{
if (in_array($this->userRoleId, [5, 38])) {
$Classes = AssignedSubjectToTeacher::with('class_info')
->where('user_id', Auth::user()->user_id)
->select('class_id')
->groupBy('class_id')
->orderBy('class_id')
->get();
} else {
// filtering classes from tbl_students, because all 3 branches of frii has same class,
// which is not manageable using only classinfo table.
$Classes = Student::with('class_info')
->select('class_id')
->where('institute_branch_version_id', $IbvID)
->groupBy('class_id')
->orderBy('class_id')
->get();
}
echo '<option value="">----- Select ------</option>';
if (!empty($Classes)) {
foreach ($Classes as $s) {
echo '<option value="' . $s->class_id . '">' . $s->class_info->ClassName . '</option>';
}
}
}
Может кто-нибудь помочь мне, спасибо.