У меня есть вызов ajax, который отправляет некоторые идентификаторы одному из моих контроллеров.Извлечение данных из ajax-вызова в контроллере
jQuery, который работает для этого, в основном ищет элементы с ID, например notification-id-
, а затем захватывает идентификаторы и сохраняет их в переменной JavaScript.
Когда я alert()
или console.log()
этой переменной она выводит значения, как 1,2
для двух уведомлений, которые у меня есть на странице notification-id-1
и notification-id-2
.
Для моего AJAX вызова, я просто делаю ниже:
$.ajax({
url: "{{ url('/notifications/read') }}",
method: "POST",
data: notifications, // Let jQuery handle packing the data for you
success: function(response) {
// The data was sent successfully and the server has responded (may have failed server side)
alert(notifications);
},
error: function(xhr, textStatus, errorThrown) {
// AJAX (sending data) failed
},
complete: function() {
// Runs at the end (after success or error) and always runs
}
});
Я пытаюсь проверить, что мой контроллер получает, делая dd($request->all());
, однако, что только возвращение:
array:1 [
"undefined" => ""
]
(Вызов ajax действительно успешно завершен)
Как получить идентификационные значения, которые отправляются в этом вызове ajax внутри моего контроллера?
Edit: Full Script
<script type="text/javascript">
$(document).ready(function() {
var count = $('#notification-counter');
var new_notifications = $('#notification-new-counter');
$('#notification-drop-down').on('click', function() {
count.empty();
var notifications = $('[id^="notification-id-"]').map(function() {
return this.id.slice(16);
}).get();
$.ajax({
url: "{{ url('/notifications/read') }}",
method: "POST",
data: notifications, // Let jQuery handle packing the data for you
success: function(response) {
// The data was sent successfully and the server has responded (may have failed server side)
alert(notifications);
},
error: function(xhr, textStatus, errorThrown) {
// AJAX (sending data) failed
},
complete: function() {
// Runs at the end (after success or error) and always runs
}
});
});
});
</script>
Вы проверили запрос Ajax в своем браузере (инструменты разработчика Chrome и т. Д.)? Есть ли почтовые поля и исправлены? –
Я использую '$ request-> input()' для этого ... Какова ценность 'уведомлений'? На вкладке «Сеть консоли браузера», какие параметры запроса отправляются в запросе? Когда вместо 'dd ($ output)' вы используете return 'Response :: json ($ output)' вы получаете разные результаты? – jcorry
Я думаю, что вы не отправляете данные правильно – Sunil