angular - ionic 4 native http在html中获取空数据
问题描述
我是 ionic 4 的初学者。我正在尝试使用本机 http 从 api 获取 json 数据。我的代码在 json 数据响应中运行良好,但问题是我在 html 中有空数据
json
{
"userId": 1,
"id": 1,
"title": "delectus aut autem",
"completed": false
}
主要代码:
import { Component } from '@angular/core';
import { HTTP } from '@ionic-native/http/ngx';
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage {
object : any ;
constructor(private http: HTTP) {
this.http.get('https://jsonplaceholder.typicode.com/todos/1',{},{})
.then(data => {
this.object = data
}) .catch(error => this.object = error);
}
}
如果我在 html 中只使用对象,他将返回 json 响应
{{object}}
但是如果我想获取标题表单数据 json 我有空页面
{{object.title}}
解决方案
深入研究一下文档,首先,原生 http返回的是:
this.http.get('http://ionic.io', {}, {})
.then(data => {
console.log(data.status);
console.log(data.data); // data received by server
console.log(data.headers);
})
.catch(error => {
console.log(error.status);
console.log(error.error); // error message as string
console.log(error.headers);
});
所以你的回答是data.data
在上述情况下。您发布的图片让我意识到我们正在处理一个字符串!因此,深入挖掘并在cordova docs中我发现本机http返回的响应确实是一个字符串!
docs success 函数接收一个包含 4 个属性的响应对象:status、data、url 和 headers。status 是作为数值的 HTTP 响应代码。data 是来自服务器的字符串响应。url 是在任何重定向后作为字符串获得的最终 URL。headers 是带有标题的对象。
所以你需要做的是解析响应!
this.http.get('https://jsonplaceholder.typicode.com/todos/1',{},{})
.then(data => {
this.object = JSON.parse(data.data)
});
推荐阅读
- sql - 如何在sql中使用带有to_date的substr函数?
- shell - 为隐含的空白字段附加分隔符
- autodesk-forge - Bim360 api - 429 - 请求过多
- c# - Debug.WriteLine 命令没有出现任何输出
- php - html 表单 - php 函数没有
- ios - 快速函数调用
- python - 将一个晦涩的文件类型输入到 tensorflow
- spring - 如何在 SpringMvc 中为指定的控制器配置 HttpMessageConverter
- python-3.x - button.when_pressed 在实际按下按钮之前被激活
- mysql - MySQL 根据另一列值查找重复项