【问题标题】:Post request from Vue3 to php doesn't work从 Vue3 向 php 发送请求不起作用
【发布时间】:2023-01-17 02:20:20
【问题描述】:

我在使用 axios 将 vue 中的请求发送到 php 时遇到问题。 当我使用 post 并尝试向后端发送数据时,没有发送任何数据。 我应该怎么办?这段代码的哪一部分是错误的? 这是我的代码:

axios
  .post('http://localhost:8888/vueBackend/connection.php',{
     titleName:'Default'
  })
  .then(response => console.log(response))
  .catch(err=>console.log(err.message))

这是回应:

这是我的后端代码:

$server = "localhost";
$dbname = "Vue";
$username = "root";
$password = "";
$tblGroup = "Titles";
$dsn = "mysql:host=$server;dbname=$dbname;charset=utf8";
$id = '';
$option = [
    PDO::ATTR_PERSISTENT => TRUE,
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
];
$method = $_Server['REQUEST_METHOD'];
try{
    $connection = new PDO($dsn, $username, $password, $option);
    if($connection){
        try{
            $stmt = $connection->prepare("INSERT $tblGroup SET titleName=?");
            $stmt->bindValue(1,$_POST['titleName']);
            $stmt->execute();
            echo "Successful";
        }catch(PDOException $e){
            echo $e->getMessage();
        }
        
    }
}catch(PDOException $exception){
    echo"Error Connect To Database : [ " . $exception->getMessage() . " ] ";

}

我希望将 titleName 发送到后端,php 获取 titleName 值并将其添加到数据库中。

【问题讨论】:

  • 响应可能是正确的。检查您的请求以查看数据是否实际发送到服务器。还可以尝试为您的 if 语句添加 else-block,因为可能不会创建连接,这意味着不会抛出任何错误。
  • 你是用 npm run dev 运行它吗?我遇到的问题是我认为在 npm 开发服务器中运行时 php 没有执行

标签: php post axios vuejs3


【解决方案1】:

您可以在 POST 变量之前尝试

$_POST = json_decode(file_get_contents("php://input"),true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-16
    • 1970-01-01
    相关资源
    最近更新 更多