首页 > 解决方案 > Axios PUT 选项正常,但没有进行真正的调用(POST 确实有效)

问题描述

我对这里发生的事情有点困惑。我已经完成了我所有的 CORS 研究,并使它与我的 POST 和 GET 请求一起工作,这一切都很好而且很闪亮。但现在我需要一个 PUT 请求(因为 put 代表更新)。我的 OPTIONS 请求一切正常,但它并没有真正进行通话。如果我将方法更改为 POST,在 laravel 和 Axios(在 VueJs 中),它可以工作。任何人都有线索,这是我来自服务器的回复:

在此处输入图像描述

版本:

需要更多信息,请告诉我,我会尽力提供。

更新:对不起,我在最后一句话中打错了:“如果我将方法更改为 PUT,在 laravel 和 Axios(在 VueJs 中),它可以工作”

方法应该是 POST 而不是 PUT,所以像这样:“如果我在 laravel 和 Axios(在 VueJs 中)中将方法更改为 POST,它可以工作”

标签: laravelvue.jsaxios

解决方案


好的,所以我必须放一个标题以允许 PUT 方法:

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: *");
header("Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE"); <----

首先我没有那个标题,但是我的 GET 和 POST 工作正常,所以默认标题可能只设置为 GET/POST?现在我自己定义了所有方法,现在它正在工作。我知道这可以在 Laravel 中使用 cors 包或制作中间件更好地完成,但我将来会这样做。现在这行得通。


推荐阅读