dojo 如何正确捕获 AJAX 调用时的PHP错误

92dk7w1h  于 2022-12-16  发布在  Dojo
关注(0)|答案(3)|浏览(152)

我正在通过以下 AJAX 调用从服务器检索javascript代码
AJAX (dojo):

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

script.php运行正常,如果返回的javascript代码不是有效代码,错误处理程序将被调用。但是,错误信息是不完整的,也就是说,它只显示了发生错误的最后一个函数,而不是整个函数调用链。这有时不是很有用,因为我想知道错误的来源。有没有办法输出整个跟踪?

ohtdti5x

ohtdti5x1#

发布您所返回内容的响应。
我认为您最好尝试使用JSON响应。

pb3s4cty

pb3s4cty2#

我没有得到可靠的错误信息的原因是因为我使用的是eval,并且我希望看到与包含这些脚本相同的行为。This question描述了差异以及eval如何运行代码,而包含这些代码首先将代码插入DOM**,然后**运行代码。前者效率更高。但后者更容易调试。

yhqotfr8

yhqotfr83#

我在xhrPost上为a _saveCustom获得了相同的错误对象,尽管我的响应状态是200(“handle:”对于GET和POST是相同的)。
实际处理:as 'json'也会抛出错误,但handle as 'text'起作用并触发了对加载回调函数的调用。

相关问题