За последние 24 часа нас посетили 22922 программиста и 1260 роботов. Сейчас ищут 749 программистов ...

Вывод ошибок при jq. Как?

Тема в разделе "JavaScript и AJAX", создана пользователем miltorg, 13 ноя 2019.

  1. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    Не даёт оно мне всё равно покоя.
    Получается что? Ответ приходит, но он не в формате json - поэтому он не высвечивается?
    Если так - то как его высветить в начальном файле?
    Именно ответ не в формате json, а не ошибки. Или оно высветит и то и то?
    --- Добавлено ---
    Так как написал @Artur_hopf ???

    1. $.getJSON( "{:url('Membersecurity/send_auth_code')}", {type: $('#auth_type').val()}, function() {
    2. console.log( "success" );
    3. })
    4. .done(function(data) {
    5. console.log(data.msg);
    6. if (data.state == 'true') {
    7. //if (1) {
    8. //$('#sending').hide();
    9. } else {
    10. ALLOW_SEND = !ALLOW_SEND;
    11. $('#sending').hide();
    12. layer.alert(data.msg);
    13. }
    14. })
    15. .fail(function(xhr) {
    16. console.log(xhr.responseText);
    17. });
    --- Добавлено ---

    ?????????

    Спасибо ему ещё раз.
    Я просто не могу это всё проверить - уже нет доступа к файлам клиента.
     
    #26 miltorg, 14 ноя 2019
    Последнее редактирование: 14 ноя 2019
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.554
    Симпатии:
    1.754
    Если вы указали jQuery, что ожидаете JSON, она пытается расшифровать ответ, как JSON. Если у неё это не получается, посылает вас куда подальше. Если вы не ожидаете JSON, просто не говорите jQuery, что именно он вам нужен. Она тогда будет давать сырой ответ, а не пытаться его расшифровать. Живой пример не просите - не будет. Смотрите документацию jQuery.

    P.S. надеюсь очевидно, что если вы вызываете $.getJSON, а не просто get, то этим вы автоматически указываете jQuery ожидать именно json?
     
    miltorg нравится это.
  3. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    Я не указывал ничего. - Это китайский фреймворк. Если я правельно понял ваш замысловатый ответ, то вместо

    $.getJSON( "{:url('Membersecurity/send_auth_code')}", {type: $('#auth_type').val()}, function() {

    нужно было бы написать:

    $.get( "{:url('Membersecurity/send_auth_code')}", {type: $('#auth_type').val()}, function() {

    И всё???!!!
    О чём же мы тогда тут разговаривали 3 страницы???!!!
    Я бы на первой странице успел задание бы ещё у клиента сделать.
    :)
    --- Добавлено ---
    Блин. Неужели правда???!!!
    --- Добавлено ---
    Сейчас проверю. У меня ведь есть рабочий пример.
    --- Добавлено ---
    Вау! Работает.
    Итак. Ответом на мою проблему было:
    Заменить $.getJSON на $.get

    Спасибо @mkramer
    --- Добавлено ---
    А может оно и ошибки php туда пришлёт?
     
  4. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    @miltorg
    Код (Javascript):
    1. $.get( "{:url('Membersecurity/send_auth_code')}", {type: $('#auth_type').val()}, function(data) {
    2. console.log(data);
    3. })
    4. .fail(function(xhr) {
    5. console.log(xhr.responseText);
    6. });
    в конце концов есть же документация :
    https://api.jquery.com/jquery.get/
     
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.554
    Симпатии:
    1.754
    Ошибка php даёт код 500 обычно, а 500 уходят в fail-функцию. В success - только код 200.