如果动作只希望通过 AJAX 使用,但在没有适当的 ajax 标头的情况下调用,它应该返回什么 HTTP 状态?我觉得我应该指出一些错误,但我真的找不到合适的错误。
我猜最好是 405 Method not allowed,但是如果例如 ajax GET 请求返回内容,而普通 GET 会返回 405,那就很奇怪了。
如果动作只希望通过 AJAX 使用,但在没有适当的 ajax 标头的情况下调用,它应该返回什么 HTTP 状态?我觉得我应该指出一些错误,但我真的找不到合适的错误。
我猜最好是 405 Method not allowed,但是如果例如 ajax GET 请求返回内容,而普通 GET 会返回 405,那就很奇怪了。
您可以满足请求,但您拒绝这样做,因为它不在 AJAX 中,所以我认为适当的错误是 403 - 禁止。
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.4
无论如何,我认为任何错误代码如果附有清晰的解释,都不会奇怪。