2017-08-29 81 views
0

每当http请求(使用rxjs)由当时的真实设备创建,并且引用者接收到的服务为未定义。Ionic 3 http请求

它可以像预期的那样来自真实设备的http请求行为吗?

 

    import { Injectable } from '@angular/core'; 
    import { Http } from "@angular/http"; 

    @Injectable() 
    export class DbcallService { 
     constructor(private _http: Http) { 
     } 

     getData() { 
     var url = 'https://jsonplaceholder.typicode.com/posts'; 
     this._http.get(url).subscribe(data => { 
      console.log(data); 
     }); 
     } 
    } 

+0

No.Can您展示'code'? – Sampath

+0

其简单的rxjs获取请求。 – Nirav

+0

它有多简单?如果您需要回答,则需要显示代码。请参阅以下内容:https://stackoverflow.com/help/how-to-ask – Sampath

回答

0

你必须改变它,如下所示。

您-provider.ts

import { Injectable } from '@angular/core'; 
import { Http } from "@angular/http"; 
import { Observable } from 'rxjs/Observable'; 
import 'rxjs/add/operator/map'; 

@Injectable() 
export class DbcallService { 
    constructor(private _http: Http) { 
    } 

    getData() { 
    var url = 'https://jsonplaceholder.typicode.com/posts'; 
    this._http.get(url).map(res => res.json()); 
    } 
} 

当你叫吧,你必须做如下图所示。

我-page.ts

this.myProvider.getData().subscribe(
     result => { 
     }, 
     error => { }, 
    () => { } 
    ); 
+0

它从浏览器运行时传递的起源。但是当它在Android设备中作为应用程序运行时。 – Nirav

+0

对不起,我没有得到你?你可以使用邮递员来访问你的网址吗?如果是,那么你也可以从设备访问。 – Sampath

+0

是的,我能够访问网址,但在请求它不传递原点或引用。 – Nirav