Проблемы с получением сообщения об ошибке от AJAX - ошибка только на телефоне - PullRequest
0 голосов
/ 06 июля 2018

У меня есть базовое веб-приложение, которое какое-то время не содержит ошибок. Иногда - что я ожидаю, это какая-то проблема с сетью, я не уверен - И только на телефоне (Android / chrome) - базовый AJAX возвращает ошибку - но значения нет.

Это сводит меня с ума - я не знаю, как отладить пустую ошибку.

Базовое сообщение AJAX:

$.post("<?php echo base_url(); ?>"+controller_G+"/"+Method_Param_G+"?"+Math.random()+"&SEARCH_STRING="+SEARCH_STRING_G, $("#"+Data_G).serialize(), function(data, status){
}).done(function(data){

    // OWNER SEARCH VIA APP
    if(data.indexOf("Search term found:") > -1){
        // Happy Days! :)
    }
}).fail(function(xhr, textStatus, errorThrown){
    $("#ajax_message").modal();
    $("#ajax_error_message_inner_text").html(textStatus+" -> "+errorThrown+" -> "+xhr.responseText);
});

ajax_message выдает " error -> -> undefined "

Я не могу воспроизвести эту ошибку в моем браузере Chrome для настольного компьютера - там все вроде нормально.

Также полезно знать: Каковы типичные способы отладки в Android / iPhone в любом случае? А какие типичные ошибки с AJAX на телефоне?

Когда я перезагружаю страницу на телефоне - нормальная работа на некоторое время возвращается. в итоге возвращается другая ошибка.

Ответы [ 2 ]

0 голосов
/ 28 июля 2018

Отладка приложения с помощью инструментов разработчика Chrome. Пройдите по этой ссылке

После настройки Ajax Error можно увидеть на вкладке Network, как и любую другую обычную веб-отладку.

0 голосов
/ 23 июля 2018

Событие ошибки не имеет параметров "xhr, status, error".

Попробуйте это:

$.ajax({
    url: "<?php echo base_url(); ?>"+controller_G+"/"+Method_Param_G+"?"+Math.random(),
    type: 'POST',
    data: formData,
    cache: false,
    contentType: false,
    processData: false,
    success:function(data){
  // Happy days :)
},
error: function(jqXHR, exception){

    var msg = "";
    console.log(jqXHR);

    if (jqXHR.status === 0) {
        msg = 'Not connect.\n Verify Network.';
    } else if (jqXHR.status == 404) {
        msg = 'Requested page not found. [404]';
    } else if (jqXHR.status == 500) {
        msg = 'Internal Server Error [500].';
    } else if (exception === 'parsererror') {
        msg = 'Requested JSON parse failed.';
    } else if (exception === 'timeout') {
        msg = 'Time out error.';
    } else if (exception === 'abort') {
        msg = 'Ajax request aborted.';
    } else {
        msg = 'Uncaught Error.\n' + jqXHR.responseText;
    }

    console.log(msg);
}});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...