你好,我在ion5上的api rest get有问题



这是我的主页。page.html

<ion-header [translucent]="true">
<ion-toolbar>
<ion-title>
get
</ion-title>
</ion-toolbar>
</ion-header>enter code here
<ion-content [fullscreen]="true">
<ion-row>
<ion-col >
<ion-button  color="success" (click) ="validarGet()" >
Enviar Get1
</ion-button>
</ion-col>
</ion-row>
<p>sdfsdgsdfsd</p>
</ion-content>

主页.ts

import { DatosService } from './../services/datos.service';
import { Component } from '@angular/core';
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage {
datos: any;
constructor( private datosService: DatosService) {}
validarGet(){
console.log('paso 0');
this.datosService.getDatos()
.then(data => {
this.datos = data;
console.log(this.datos);
alert(this.datos);
})
}
}

和我的提供商

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class DatosService {
url: string = 'http://190.196.222.212:8080/AppComertech/rest/Servicio/';
constructor( private http: HttpClient) { }
getDatos(){
return new Promise(resolve => {
this.http.get(this.url + 'prueba2?varX=askjd&varY=alkf')
.subscribe(data => {
resolve(data);
alert(data);
}, err => {
console.log(err);
alert(err);
});
});
}
}

所以,我无法在设备中显示某些内容,我只收到警报(错误(;,为了在手机上显示,我搜索了一下,看到了更多的页面使用方法get,但到处都是相同的代码,我无法显示任何东西

http://190.196.222.212:8080/AppComertech/rest/Servicio/prueba2?varX=askjd&varY=alkf

控制台

如控制台所示:您的API未设置为允许客户端进行调用。服务器需要启用CORS。

然而,你有几件事不对劲。HttpClient返回一个可观察的,因此没有理由创建一个新的promise。您也不应该在服务内部调用subscribe,因为您不会对服务内部的结果执行任何操作。

// service
getDatos(): Observable<any> {
return this.http.get<any>(this.url + 'prueba2?varX=askjd&varY=alkf');
}
// component
this.datosService.getDatos()
.subscribe(data => {
this.datos = data;
alert(this.datos);
});

最新更新