#ajax #laravel
Вопрос:
Например, я всегда получаю неопределенные значения из других данных: ID:123
ответ на это будет NetAmount: 1000.00
после отправки с помощью запроса AJAX GET, поэтому для других данных он просто вернет undefined
значение.
МОЙ АЯКС
function viewBill(AccountNum){
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
method: "GET",
url: "{{ route('view.billing') }}",
data: {AccountNum:AccountNum},
dataType: 'json',
async: true,
beforeSend: function() {$('#userBill').html('Getting Information...')},
success: function(res) {
console.log(res.NetAmount);
$('#checkBill').css('display','block');
$('#userBill').html('₱ ' res.NetAmount);
},
error: function(res) {console.log('Error');},
complete: function() {
}
});
}
Мой Контроллер
public function viewBilling(Request $request){
if($request->ajax()){
$viewBilling = Table1::addSelect(['PaymentStatus' => Table2::selectRaw('COUNT(*)')
->whereColumn('AccountNumber','Table1.AccountNumber')
->whereColumn('ServicePeriodEnd','Table1.ServicePeriodEnd')
->where('AccountNumber', $request->AccountNum)
])->where('AccountNumber', $request->AccountNum)
->orderBy('ServicePeriod','desc')
->first();
return Response()->json($viewBilling);
}
}
Я попробовал использовать dd()
, и оказалось, что для учетной записи, которую я попробовал, есть значения из той, которая возвращает NetAmount
значение, и из той, которая возвращает undefined
значение.
Комментарии:
1. если ваш запрос возвращается пустым, вы можете проверить его с помощью: dd или инструментов разработки chrome для проверки результата ajax
2. @ChinhNguyen Я проверил с помощью dd(), у него был ответ для обоих, тот, который отображал сетевое число, и тот, который отображал неопределенное, тот, с которым я запутался, — это почему он отображал неопределенное значение. поэтому я проверил, используя инструменты разработчика, из того, что я видел, свойств не найдено, но когда я попытался получить доступ к маршруту без использования кнопки, и это дало мне свойства, включая сетевое подключение.
Ответ №1:
Обнаружена проблема, из-за параметра моей viewBill()
функции я не знаю, почему он дает мне неопределенные значения из других данных, которые я проверял с помощью сетевых инструментов, просто он не смог отправить номер учетной записи контроллеру. Поэтому я попытался удалить параметр. У меня есть входной тег, который уже содержит значение номера учетной записи, поэтому вместо использования приведенного выше кода я сделал это
function viewBill(){
var AccountNum = $('#inputAccountNum1').val();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.post({
url: "{{ route('view.billing') }}",
data: {AccountNum:AccountNum},
dataType: 'json',
beforeSend: function() {$('#userBill').html('Getting Information...')},
success: function(res) {
$('#checkBill').css('display','block');
$('#userBill').html('₱ ' res.NetAmount);
},
error: function(res) {console.log('Error');},
complete: function() {
}
});
}