在 PHP 中无法访问 Axios POST 参数
在您的代码中,您使用 Axios 发送带有“application/x”的 POST 请求-www-form-urlencoded”内容类型。但是,您遇到了一个问题,即 POST 数据未填充到 PHP 端的 $_POST 或 $_REQUEST 数组中。
此问题的根本原因在于 POST 数据的格式。 PHP 期望 POST 数据采用“application/x-www-form-urlencoded”格式,这是 HTML 表单提交的默认格式。默认情况下,Axios 将 JavaScript 对象序列化为 JSON,这不是 $_POST 支持的数据格式。
解决方案:使用 URLSearchParams 或 qs 库
解决此问题,您可以使用以下方法将 POST 数据编码为正确的格式:
<code class="javascript">const params = new URLSearchParams(); params.append('param1', 'value1'); params.append('param2', 'value2'); axios.post('/foo', params);</code>
<code class="javascript">const qs = require('qs'); axios.post('/foo', qs.stringify({ 'bar': 123 }));</code>
或者,您可以修改 PHP 以将 JSON 作为 POST 数据处理:
有关如何配置 PHP 将 JSON 作为填充 $_POST 的数据格式的详细信息,请参阅此答案。
以上是如何使用不同的方法在 PHP 中访问 Axios POST 参数?的详细内容。更多信息请关注PHP中文网其他相关文章!