Иногда Ajax работает, иногда нет в Laravel

Я пытаюсь получить данные из своей базы данных с помощью 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');
             }
         });
     });
 });

Что именно происходит? Выдает ли это ошибку ....?

Hari Govind 29.05.2018 10:55
Не работает. Хорошо. Что нет? Моя машина тоже иногда не работает, знаете, в чем проблема?
Loek 29.05.2018 10:57

@ Гляди, мой волшебный шар сказал мне, что ты должен проверить зажигание. На самом деле нет ТО, вы должны указать точную ошибку или проблему, чтобы мы могли должным образом разобраться.

Fabian Schöner 29.05.2018 10:59

Весь процесс заключается в том, что когда я нажимаю на раскрывающийся список выбора, произойдет этот вызов ajax, и мы получим данные, загруженные в div ... Иногда данные приходят, иногда нет ...

Jahid 29.05.2018 11:03

вы, вероятно, не войдете внутрь успеха: функция (ответ), когда ваша функция не работает. Проблема должна быть либо в URL-адресе, либо в данных в AJAX. Поскольку он иногда работает, поэтому URL-адрес должен быть в порядке, проблема должна быть в данных .. '_ token' и 'x', эти данные могут быть пустыми или что-то странное, что, в свою очередь, может быть не давая вам ответа ... Это то, что я мог бы сказать в более широком смысле ... если вы будете более конкретны с выходными данными и ошибками, вы можете получить лучшую помощь.

BILAL MALIK 29.05.2018 11:05

Я получаю внутреннюю ошибку сервера, когда данные не загружены ... Я имею в виду, когда ajax не работает.

Jahid 29.05.2018 11:06

Значит, проблема на вашей стороне, попробуйте очистить кеш. обновить с помощью ctrl + f5

BILAL MALIK 29.05.2018 11:10

Но проблема не возникает в браузере сафари

Jahid 29.05.2018 11:14

Проблема была в токене. Я удалил часть токена из своего вызова AJAX и отключил проверку токена для маршрута. Теперь работает отлично каждый раз.

Jahid 29.05.2018 11:37

Да, поскольку он иногда работает, поэтому URL-адрес должен быть в порядке, проблема должна быть в данных .. '_ token' и 'x', и если вы все еще хотите использовать токен, проверьте синтаксис

BILAL MALIK 29.05.2018 12:09
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
10
733
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вам нужно 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 не работает, я имею в виду, когда данные не загружены.

Jahid 29.05.2018 11:09

Но проблема не возникает в браузере сафари

Jahid 29.05.2018 11:15

Вы нажимаете очень быстро снова и снова или, пожалуйста, проверьте, вышло ли приложение из системы, это то, в чем я вижу проблему, и изменения токенов, пожалуйста, проверьте

Deepesh singh 29.05.2018 11:19

Да, спасибо, сэр. Проблема была в токене. Я удалил часть токена из своего вызова AJAX и отключил проверку токена для маршрута. Теперь работает отлично каждый раз.

Jahid 29.05.2018 11:31
Ответ принят как подходящий

Проблема была в токене. Я удалил часть токена из своего вызова AJAX и отключил проверку токена для маршрута. Теперь работает отлично каждый раз.

Другие вопросы по теме