【问题标题】:Ionic 2 AngularJs simple get request on loopback serverIonic 2 AngularJs 在环回服务器上简单获取请求
【发布时间】:2017-10-17 19:19:50
【问题描述】:

我正在尝试从我的 Ionic 2 应用程序向运行 Loopback API 的服务器发出简单的 GET 请求。 Loopback 使用一个很好的界面来显示GETPOST 命令并为其提供 curl 命令。现在,对于我要访问的数据,curl 命令是:curl -X GET --header 'Accept: application/json' 'http://IPADDRESS:3000/api/tests',其中IPADDRESS 是服务器的 IP 地址。

在我的 Ionic 2 应用程序中,我试图让应用程序在单击按钮时发送一个简单的警报,其中警报文本是从服务器收集的数据。我目前有alert(this.http.get("http://IPADDRESS:3000/api/tests"));,但警报只显示[object Object]。我知道自从 Loopback 端工作以来,它有数据可以获取。这是我的整个类型脚本文件:

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { Http } from '@angular/http';

/**
 * Generated class for the SignupPage page.
 *
 * See http://ionicframework.com/docs/components/#navigation for more info
 * on Ionic pages and navigation.
 */

@IonicPage()
@Component({
  selector: 'page-signup-page',
  templateUrl: 'signup-page.html',
})
export class SignupPage {

  constructor(public navCtrl: NavController, public navParams: NavParams, public http: Http) {
  }

  ionViewDidLoad() {
    console.log('ionViewDidLoad SignupPage');
  }

  existingUser() {
    alert(this.http.get("http://IPADDRESS:3000/api/tests"));
  }

  joinNow() {

  }

}

我是 Ionic 和 AngularJS 的新手,因此我们将不胜感激。

【问题讨论】:

    标签: angularjs curl ionic-framework ionic2 loopback


    【解决方案1】:

    不确定这是否是您想要的,但不妨试试:

    this.http.get("http://IPADDRESS:3000/api/tests")
       .map(res => res.json())
       .subscribe(data => {
          console.log(data)
       });
    

    请注意,您必须import 'rxjs/add/operator/map' 才能使用.map 运算符

    【讨论】:

    • 这似乎有所帮助,但现在我收到了[object Object],[object Object],[object Object],这让我觉得要么是我获取数据的方式有问题,要么是我不明白的环回问题。
    • 您期望得到什么?您通常可以在 chrome 控制台上查看对象属性。否则请尝试console.log(JSON.stringify(data)) 从服务器响应数据中获得更多洞察
    • 该数据存储在 MySql 数据库中,我现在用虚拟数据填充它:[ { name: 'Hooply Lop', age: 45, id: 1 }, { name: 'Granny Smith', age: 99, id: 2 }, { name: 'Ford Prefect', age: 67, id: 3 } ] 所以我希望能找回来
    • 正如你所说,你得到了 3 次 [object Object] 所以一切对我来说都是正确的,因为你的虚拟数据是 3 组。你试过 JSON.stringify() 方法了吗?
    • JSON.stringify(data) 部分有效!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2017-06-29
    • 2020-01-13
    • 1970-01-01
    • 2023-03-30
    • 2017-02-25
    • 2016-01-29
    • 1970-01-01
    • 2019-01-06
    相关资源
    最近更新 更多