这里出了什么问题?我100%确定我正在发送HTTP POST请求,但不知何故,OR运算符不能正常工作。在第一个示例中,服务器返回405,在第二个示例中,代码继续执行。
无效:
if req.Method != http.MethodPost || req.Method != http.MethodDelete {
http.Error(res, http.StatusText(http.StatusMethodNotAllowed), http.StatusMethodNotAllowed)
return
}
工作:
if req.Method != http.MethodPost {
http.Error(res, http.StatusText(http.StatusMethodNotAllowed), http.StatusMethodNotAllowed)
return
}
答案 0 :(得分:2)
(不是什么)或者(不是别的互相排斥)总是真的不是吗?
如果是方法发布,则不会删除,反之亦然,您可能需要&& ?
答案 1 :(得分:0)
// only allow POST or DELETE
if req.Method != http.MethodPost && req.Method != http.MethodDelete {
http.Error(res, http.StatusText(http.StatusMethodNotAllowed), http.StatusMethodNotAllowed)
return
}