所以我试图从数据库中获取一些信息来填充视图。但是,每当我尝试调用此信息时,我似乎总是得到一个未定义的值,因此视图不会填充。
我已经查看了How do I return the response from an asynchronous call?并使用了已经声明的then函数,但是它没有帮我修复错误。
public getMyObject (ownerId: number): Promise<MyObject[]> {
return this.httpClient.post('ObjectGivenownerID.php', `{ownerID: ${ownerId}}`)
.then(data => {
console.log(data);
return data;
})
问题是数据总是未定义的,所以当我的视图调用它来初始化时,它需要解析为未定义的数组。我想询问错误是在获取数据还是其他地方?我是一个相当新的数据库之类的工作,所以解释和指向正确的方向将不仅仅是一个“为你做的”解决方案。谢谢!
编辑:PHP代码
function get_owner($owner_id){
global $conn;
$sql = "SELECT * FROM MyObject WHERE owner_id = 1";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// create an array
$emparray = array();
while($row = $result->fetch_assoc()) {
$MyObject_id = $row["MyObject_id"];
$MyObject_attachments = list_attachments_by_MyObject($MyObject_id);
$row['attachments']= $MyObject_attachments;
$emparray[] = $row;
}
}
echo json_encode($emparray);
return;
}
get_owner(1)