对于一个非AJAX请求,我应该向一个仅AJAX的URL返回什么状态码?
如果不使用AJAX请求URL,那么应该返回什么状态代码?400?我认为对于一个非AJAX请求,我应该向一个仅AJAX的URL返回什么状态码?,ajax,http,http-status-codes,Ajax,Http,Http Status Codes,如果不使用AJAX请求URL,那么应该返回什么状态代码?400?我认为403禁止是最好的 501未实现不适合,因为资源已实现,但不适合此类请求 400错误请求也不是一个好的选择,因为根据规范,这意味着“由于语法错误,服务器无法理解请求”,而不是这里的情况。我选择400错误请求,因为这意味着不重试请求 如果做不到这一点,418我是一个茶壶,只是让他们感到困惑:)我不相信你通过管理这个值真的在帮助任何人。我更喜欢在所有情况下都尝试发回有用数据的理念。然而,在我们确实需要一项政策的情况下,想象类似的情
403禁止
是最好的
501未实现
不适合,因为资源已实现,但不适合此类请求
400错误请求
也不是一个好的选择,因为根据规范,这意味着“由于语法错误,服务器无法理解请求”,而不是这里的情况。我选择400错误请求
,因为这意味着不重试请求
如果做不到这一点,
418我是一个茶壶,只是让他们感到困惑:)我不相信你通过管理这个值真的在帮助任何人。我更喜欢在所有情况下都尝试发回有用数据的理念。然而,在我们确实需要一项政策的情况下,想象类似的情况并不难。例如,假设我们有一个可以根据mime类型返回JSON或XML的服务,如果指定了意外的mime类型,那么最好返回一个清晰的响应代码
W3
4xx代码适用于各种情况
其中客户似乎有
错误,以及案例的5xx代码
其中服务器知道
服务器出错了。这是不可能的
大体上区分这些情况,以便
区别只是信息性的
正文部分可能包含
描述人为错误的文件
可读形式。文档是MIME格式的
格式,并且只能为文本/纯文本,
text/html或一种格式
在合同中规定为可接受
请求
因此很明显,响应应该是4xx,而不是客户端提供的无效请求。我会选择400个错误的请求,并确保返回的文本解释了该请求被认为是错误的原因
W3对400说:请求的语法不好,或者根本不可能满足,事实似乎确实如此。您如何知道URL是如何被请求的?Ajax与否它只是一个URL如果HTTP_X_REQUESTED_在请求头中等于XMLHttpRequest,那么它就是一个Ajax请求。在Django中,您可以使用request.is_ajax()检查我是否希望处理非ajax请求。例如,如果有人对该URL发出标准GET请求,我想显示一个状态代码正确的错误页面。同意,这似乎是一致的看法。另见