这种错误通常发生在使用Ajax进行跨域删除请求时。要解决这个问题,需要在后端服务上添加Access-Control-Allow-Methods响应头来允许删除请求。以下是一个使用PHP后端的示例代码:
header("Access-Control-Allow-Methods: DELETE");
if($_SERVER['REQUEST_METHOD'] === 'DELETE'){
// 处理删除请求的代码
} else {
header("HTTP/1.1 405 Method Not Allowed");
exit;
}
在上面的示例中,我们在响应头中添加了"Access-Control-Allow-Methods: DELETE"以允许删除请求。然后,我们对请求方法进行检测来确定请求是否为删除请求,如果是,就处理删除请求的代码,否则返回"405 Method Not Allowed"错误响应。这样就能够解决Ajax删除请求抛出"Method not allowed by Access-Control-Allow-Methods in preflight response"错误的问题。