Я пытаюсь получить данные из своей базы данных с помощью AJAX. Мой контроллер Laravel возвращает строку в ответе JSON. Но мой AJAX иногда работает, иногда нет. Я получаю «внутреннюю ошибку сервера», когда Ajax не работает, я имею в виду, когда данные не загружаются. Но проблема не возникает в браузере Safari. Вот мой код AJAX.
$(function(){
var checking_html = '<img src = "img/loader.gif" />';
$("#bond").change(function () {
$('#load').html(checking_html);
var x = $('#bond').val();
$.ajax({
type: 'POST',
url: "{{ URL::route('bond.list') }}",
data: {
'_token': $('input[name=_token]').val(),
'x': x
},
success: function(response) {
if (response[0]['bond_num'] == 400000){
response[0]['bond_num']='Premium';
}
html_output = '';
for(i=0; i<response.length; i++){
html_output += '<option value = "'+response[i]['publish_date']+'">'+response[i]['publish_date']+' , '+response[0]['bond_num']+' Bond</option>';
if (i==0){
html_output += '<option value = "all">ALL</option>';
}
}
$('#choice').empty().append(html_output);
$('#load').html('');
},
error: function (jqXHR, textStatus, errorThrown){
alert('Error get data from ajax');
}
});
});
});
@ Гляди, мой волшебный шар сказал мне, что ты должен проверить зажигание. На самом деле нет ТО, вы должны указать точную ошибку или проблему, чтобы мы могли должным образом разобраться.
Весь процесс заключается в том, что когда я нажимаю на раскрывающийся список выбора, произойдет этот вызов ajax, и мы получим данные, загруженные в div ... Иногда данные приходят, иногда нет ...
вы, вероятно, не войдете внутрь успеха: функция (ответ), когда ваша функция не работает. Проблема должна быть либо в URL-адресе, либо в данных в AJAX. Поскольку он иногда работает, поэтому URL-адрес должен быть в порядке, проблема должна быть в данных .. '_ token' и 'x', эти данные могут быть пустыми или что-то странное, что, в свою очередь, может быть не давая вам ответа ... Это то, что я мог бы сказать в более широком смысле ... если вы будете более конкретны с выходными данными и ошибками, вы можете получить лучшую помощь.
Я получаю внутреннюю ошибку сервера, когда данные не загружены ... Я имею в виду, когда ajax не работает.
Значит, проблема на вашей стороне, попробуйте очистить кеш. обновить с помощью ctrl + f5
Но проблема не возникает в браузере сафари
Проблема была в токене. Я удалил часть токена из своего вызова AJAX и отключил проверку токена для маршрута. Теперь работает отлично каждый раз.
Да, поскольку он иногда работает, поэтому URL-адрес должен быть в порядке, проблема должна быть в данных .. '_ token' и 'x', и если вы все еще хотите использовать токен, проверьте синтаксис



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам нужно JSON.parse () ваш результат:
$.ajax({
type: 'GET',
url: "{{ URL::route('bond.list') }}",
data: {
'_token': $('input[name=_token]').val(),
'x': x
},
success: function(response) {
var response = JSON.parse(response);
console.info(response);
}
});
поэтому при успешной функции console.info(response) и на консоли проверьте результат, если он придет, а также откройте раздел сети в браузере и посмотрите, сколько времени занимает запрос ajax, после этого вы поймете, в чем проблема. Спасибо
Я получаю «внутреннюю ошибку сервера», когда Ajax не работает, я имею в виду, когда данные не загружены.
Но проблема не возникает в браузере сафари
Вы нажимаете очень быстро снова и снова или, пожалуйста, проверьте, вышло ли приложение из системы, это то, в чем я вижу проблему, и изменения токенов, пожалуйста, проверьте
Да, спасибо, сэр. Проблема была в токене. Я удалил часть токена из своего вызова AJAX и отключил проверку токена для маршрута. Теперь работает отлично каждый раз.
Проблема была в токене. Я удалил часть токена из своего вызова AJAX и отключил проверку токена для маршрута. Теперь работает отлично каждый раз.
Что именно происходит? Выдает ли это ошибку ....?