【发布时间】:2021-12-25 11:02:40
【问题描述】:
VUEjs 代码:
const API_URL = "http://localhost:8880/php/";
axios({
method: "post",
url: API_URL + "test.php",
data: {
optn: "procdata",
mdate1: this.mdate1,
mdate2: this.mdate2,
mmcc: "",
},
}).then((respone) => {
console.log(respone);
});
PHP 代码:
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: Content-Type");
header('Access-Control-Allow-Methods: POST, GET, DELETE, PUT, PATCH, OPTIONS');
header('Access-Control-Allow-Headers: token, Content-Type');
echo $_POST['optn'];
echo $_POST['mdate1'];
echo $_POST['mdate2'];
echo $_POST['mmcc'];
我在浏览器控制台中收到此错误作为响应:
注意:未定义的索引:optn in F:\xampp\htdocs\php\test.php 行 7
通知:未定义索引:mdate1 in F:\xampp\htdocs\php\test.php 行 8
【问题讨论】:
-
@vee 感谢您的链接。但它只是显示如何删除警告。但是我想知道为什么我的 post 方法不起作用?
-
从这些通知消息中可以清楚地看出,当您访问 PHP 代码时,您的 POST 值不存在。 建议: ajax 方法中的 URL 应始终为绝对路径(在您的情况下为 /php/test.php)。 Also check this link out and try performing the post request the same way in the example.
-
未定义索引 nnn 表示数组键
nnn未设置。在您的情况下,这意味着没有$_POST['optn']和mdate。因此,请检查您的 JS 代码 (Vue) 以确保您已设置这些值。尝试使用var_dump($_POST)进行调试,以查看发送到服务器的 POST 数据。 -
mdate2 和 mmcc 是否也有错误?