javascript - 如何使用django从服务器向客户端发送错误消息并将其打印到控制台?

标签 javascript django error-handling server xmlhttprequest

我有一个服务器请求,应该找到一个文件,如果找不到该文件,则需要在js控制台中打印一条自定义消息,说“我找不到文件x”。

我曾尝试引发异常,引发Http错误,发送自定义请求...。

但是我不知道如何发送错误(例如400、404 ...)和与此错误相关的自定义消息。

这样做的目的是,当XMLHttpRequest()对象获得响应时,如果状态不是200,则应打印错误。

对于这是否是一种好的做法,我没有兴趣,我只需要能够以某种方式做到。

在服务器端,我正在尝试以下方法:

raise HttpResponse('I am message')

在客户端,我正在尝试:
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.onloadend = () => {
    if (xhr.status != 200) {
         //print error somehow
    }
}

最佳答案

如果您预期后端发生错误,则可以将该代码包装在try catch块中,而不是抛出错误,您可以从错误中获取文本并将其发送回去。由于您捕获了错误,因此这将导致200响应。因此,id响应了某种对象,其中属性之一是状态。就像是:

[
 ['status'] => 'error',
 ['message'] => 'I've fallen and cant get up'
]

然后,您可以:
 if(response.data.status == 'error') {
console.log(response.data.message);
}

希望能有所帮助。

关于javascript - 如何使用django从服务器向客户端发送错误消息并将其打印到控制台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57912464/

相关文章:

python - django S3 - 修剪图像字段文件名而不是 url 路径

Django DetailView + 显示另一个Model的相关记录

sql - 检测某些记录是否被排除在 INSERT INTO 操作之外

php - 带页面URL的PHP​​声明

javascript - Angular rxjs 去抖以限制用户发送多个请求

Javascript:如何隐藏动态创建的div?

javascript - res.statusCode 给出未定义

python - 多个 csrftoken cookie,RFC 要求只有 1 个 csrftoken 吗?

python - 将错误处理中的错误消息与 Salesforce API 隔离

javascript - jQuery.support.cors 的替代品