gpt4 book ai didi

javascript - 如何在控制台中禁用 Dojo 的 JsonRest 查询的错误日志记录?

转载 作者:行者123 更新时间:2023-12-03 04:41:13 25 4
gpt4 key购买 nike

我的项目使用 JsonRest 存储来访问其数据。一切都很好。问题是,当服务器返回错误时,即使调用了正确的代码部分,并且功能正常工作,该对象也会向控制台记录一个丑陋的错误。

我的代码:

function loadData() {
self.storeItem.query({
'id_metric' : self.selectMetrics.value,
'id_client' : self.selectClients.value
}).then(
(res) => populateResults(res),
()=>{
// this is called correctly...
query('.res').forEach(domConstruct.destroy);
domConstruct.place('<tr class="sem res"><td>No results</td></tr>', "tableLines", 'first');
}
);
}

.

// ..but this is logged in console:
Object { message: "Unable to load http://localhost:300…", stack: ".cache["dojo/errors/create"]/</</_3…", response: Object, status: 404, responseText: "{"errors":["Not found…",
xhr: XMLHttpRequest }

如何让商店不显示错误?

我知道我可以更改服务器行为以返回代码 200 结果而不是 404。但我想要的只是让它不将错误发送到控制台。

最佳答案

该错误由 dojo/_base/xhr 记录,由 dojo/store/JsonRest 内部使用。我没有看到一种干净的方法来抑制它,除非您准备好实现自己的商店。如果您是,您可以这样做:

dojo/_base/xhr有一个failOk参数,它完全按照你想要的方式执行,但是dojo/store/JsonRest不使用它,并且默认值为false(将错误记录到控制台)。因此,您可以复制 JsonRest 的源代码并在所有 xhr 调用中添加 failOk: true 。例如在查询函数中:

    var results = xhr("GET", {
url: this.target + (query || ""),
handleAs: "json",
headers: headers,
failOk: true
});

您仍然可以在错误处理函数中处理错误。

关于javascript - 如何在控制台中禁用 Dojo 的 JsonRest 查询的错误日志记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43080899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com