用Axios Vue.PHP从mysql获取数据有什么问题?PHP?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Axios Vue.PHP从mysql获取数据有什么问题?PHP?相关的知识,希望对你有一定的参考价值。
获取数据的方法。我想用以下方法获取数据 axios
. 但是没有结果出来,也没有错误!!!
getTodoList() {
axios({
method: 'GET',
url: 'api/todos.php'
}).then(function(res){
console.log(res);
})
}
它给我这个结果。
api.todos.php
<?php
class Todo {
private $connection_string ;
public function __construct() {
// connection code. Connection is okay.
}
public function fetchTodo() {
$sql = "SELECT * FROM todo ";
$result = mysqli_query($this->connection_string, $sql);
}
}
$todo = new Todo;
$todo->fetchTodo();
?>
到底是什么问题,我看不懂!!?
答案
我假设你希望你的API返回JSON数据。
正如你从截图中看到的,你的PHP代码目前发送的是一个(空)html响应。headers: { [...] content-type: "text/html; charset=UTF-8", [...] }
. 这是PHP的默认值,如果你想输出JSON,你必须明确发送正确的头。
由于你的函数被命名为 fetchTodo()
我只会让它 取来 数据,并在其他地方以JSON格式输出。
<?php
class Todo {
private $connection_string ;
public function __construct() {
// connection code. Connection is okay.
}
public function fetchTodo() {
$sql = "SELECT * FROM todo ";
$result = mysqli_query($this->connection_string, $sql);
// add this line
return $result ? $result->fetch_all(MYSQLI_ASSOC) : [];
}
}
// tell whoever requested this API that we're going to send JSON data
header("Content-Type: application/json");
$todo = new Todo;
// output whatever fetchTodo() returns as JSON
echo json_encode($todo->fetchTodo());
?>
注意,这不会处理任何查询错误。我将假设你的连接代码 正确设置错误报告. 如果你还没有,你可以考虑添加一个全局错误处理程序,以便在事情中断时发送JSON响应,也许是这样的 这样.
以上是关于用Axios Vue.PHP从mysql获取数据有什么问题?PHP?的主要内容,如果未能解决你的问题,请参考以下文章