laravel - Axios PUT 选项正常,但没有进行真正的调用(POST 确实有效)
问题描述
我对这里发生的事情有点困惑。我已经完成了我所有的 CORS 研究,并使它与我的 POST 和 GET 请求一起工作,这一切都很好而且很闪亮。但现在我需要一个 PUT 请求(因为 put 代表更新)。我的 OPTIONS 请求一切正常,但它并没有真正进行通话。如果我将方法更改为 POST,在 laravel 和 Axios(在 VueJs 中),它可以工作。任何人都有线索,这是我来自服务器的回复:
版本:
- Axios - 0.18.0(最新版本)
需要更多信息,请告诉我,我会尽力提供。
更新:对不起,我在最后一句话中打错了:“如果我将方法更改为 PUT,在 laravel 和 Axios(在 VueJs 中),它可以工作”
方法应该是 POST 而不是 PUT,所以像这样:“如果我在 laravel 和 Axios(在 VueJs 中)中将方法更改为 POST,它可以工作”
解决方案
好的,所以我必须放一个标题以允许 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 包或制作中间件更好地完成,但我将来会这样做。现在这行得通。
推荐阅读
- android - 改进行列表视图的整体布局
- python - 自动格式化列表中的项目
- java - 为什么我的 updateAppWidget 方法不对所有操作做出反应?
- javascript - 为在 nativescript 事件中传递的 $event 获取“未定义” - IOS(N-Playground 测试)
- python - 使用“for 循环” - 如果用户输入中有重复的单词,则只显示第一个重复的单词。如何显示所有重复的单词?
- java - 代码没有输出期望值;如何修改它以获得预期的结果?
- javascript - 使用jquery进行简单的dom遍历
- dataset - 如何在特定的知识图中为 TransE 算法构建我自己的数据集
- android - 具有动态原始文件的媒体播放器
- javascript - 如何在 Javascript 客户端中解密 Laravel Encrypter?