【发布时间】:2017-03-25 23:47:59
【问题描述】:
我正在开发一个应用程序并设置了一个事件提供程序。我正在使用 Eventbrite API 来获取一个城市中发生的事件池。我在试图弄清楚如何执行获取请求并将其存储在变量中时遇到了困难。这是请求的 URL:
https://www.eventbriteapi.com/v3/events/search/?location.address=Atlanta&expand=organizer,venue&token={MY_TOKEN}
到目前为止,这是我的提供者:
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import {NativeStorage} from "ionic-native";
import 'rxjs/add/operator/map';
/*
Generated class for the EventProvider provider.
See https://angular.io/docs/ts/latest/guide/dependency-injection.html
for more info on providers and Angular 2 DI.
*/
@Injectable()
export class EventProvider {
data:any;
constructor(public http: Http) {
this.data = null;
//console.log('Hello EventProvider Provider');
}
public getCityEvents(city) {
var event = {id: "", name: "", start: "", end: "", latitude: "", longitude: "", venue:""};
NativeStorage.getItem('event')
.then(function (data) {
alert("data: " + JSON.stringify(data));
alert("data id: " + data.id);
event = {
id = data.id,
name = data.name,
start = data.start,
end = data.end,
latitude = data.latitude,
longitude = data.longitude,
venue = data.venue
};
this.http.get("https://www.eventbriteapi.com/v3/events/search/?location.address=Atlanta&expand=organizer,venue&token=VMGQGYQUIO3IKNS75BD4").subscribe( data =>{
console.log(data);
},
error => {
console.log(error)
});
})
}
}
我现在只想将此 get 请求的 JSON 响应存储在一个变量中。有人可以提供一些帮助吗?
【问题讨论】:
-
this.data = event应该这样做...但是您需要使用箭头函数(params) => expression or block,而不是function表达式。如果您没有可用的转译器,请将其别名为闭包外部的临时变量并在闭包内引用它。 this 引用在function内动态限定 -
对不起,我不太明白。在浏览器中输入 url 时,我得到了我想要的响应,但我不确定我所拥有的是否真的有效。我定义的事件变量包含我想从 JSON 中取出的最终数据字段,但 JSON 响应也有许多其他字段。您能否根据我发布的代码详细说明您的解决方案?
-
试试 ajai Jothi 的回答或我的评论中的方法
标签: angularjs ionic-framework get ionic2 eventbrite