Как правильно отловить ошибку PHP при вызове Ajax - PullRequest
1 голос
/ 15 июля 2011

Я получаю код JavaScript с сервера с помощью следующего вызова ajax

ajax (dojo):

dojo.xhrGet({
    url : 'script.php',
    handleAs : "javascript",
    load : function(response){
        /*Do Something*/
    },
    error : function(errorMessage) {
        console.error(errorMessage);
    }
});

script.php работает нормально, и, если код JavaScript возвращаетсянедопустимый код, будет вызван обработчик ошибок.Однако сообщение об ошибке является неполным, т.е.он показывает только последнюю функцию, в которой произошла ошибка, а не всю цепочку вызовов функций.Иногда это не очень полезно, так как я хочу знать, откуда возникла ошибка.Есть ли способ вывести всю трассировку?

Ответы [ 3 ]

0 голосов
/ 07 февраля 2012

Я получал тот же объект ошибки на xhrPost для _saveCustom, хотя мой статус ответа был 200 («handle:» одинаков для GET и POST).

Фактически обработчик: как 'json' также выдаст ошибку, но обработать как 'текст' сработал и вызвал вызов функции обратного вызова load.

0 голосов
/ 05 марта 2012

Причина, по которой я не получал достоверную информацию об ошибках, заключается в том, что я использовал eval и ожидал того же поведения, которое наблюдал бы, вместо этого включив эти сценарии. Этот вопрос описывает различия и то, как eval выполняет код, тогда как включение этих кодов сначала вставляет код в DOM , а затем запускает код. Первый более эффективен, но последний легче отлаживать.

0 голосов
/ 17 июля 2011

Опубликовать ответ того, что вы возвращаете.

Я думаю, что вы лучше пытаетесь ответить JSON.

...