Ionic framework 离子2-yelpapi
我正在尝试将Ionic 2应用程序连接到Yelp的API。现在,我只使用从CLI生成并在本地主机上运行的空白Ionic 2应用程序 我的代码:Ionic framework 离子2-yelpapi,ionic-framework,ionic2,yelp,Ionic Framework,Ionic2,Yelp,我正在尝试将Ionic 2应用程序连接到Yelp的API。现在,我只使用从CLI生成并在本地主机上运行的空白Ionic 2应用程序 我的代码: app.module.ts import { BrowserModule } from '@angular/platform-browser'; import { ErrorHandler, NgModule } from '@angular/core'; import { HttpModule } from '@angular/http'; impor
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } from '@angular/core';
import { HttpModule } from '@angular/http';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { SplashScreen } from '@ionic-native/splash-screen';
import { StatusBar } from '@ionic-native/status-bar';
import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';
@NgModule({
declarations: [
MyApp,
HomePage
],
imports: [
BrowserModule,
HttpModule,
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler}
]
})
export class AppModule {}
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Http } from '@angular/http';
import { Headers, RequestOptions } from '@angular/http';
import 'rxjs/add/operator/map';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
restaurants:any;
constructor(public navCtrl: NavController, public http: Http) {
var headers = new Headers();
headers.append('Authorization', 'Bearer someString');
var options = new RequestOptions({headers: headers});
this.http.get('https://api.yelp.com/v3/businesses/search?term=deli20&latitude=39.59754&longitude=-104.872934', options).map(res => res.json()).subscribe(data => {
this.restaurants = data.data.children;
console.log(this.restaurants);
});
}
}
home.ts
import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } from '@angular/core';
import { HttpModule } from '@angular/http';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { SplashScreen } from '@ionic-native/splash-screen';
import { StatusBar } from '@ionic-native/status-bar';
import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';
@NgModule({
declarations: [
MyApp,
HomePage
],
imports: [
BrowserModule,
HttpModule,
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler}
]
})
export class AppModule {}
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Http } from '@angular/http';
import { Headers, RequestOptions } from '@angular/http';
import 'rxjs/add/operator/map';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
restaurants:any;
constructor(public navCtrl: NavController, public http: Http) {
var headers = new Headers();
headers.append('Authorization', 'Bearer someString');
var options = new RequestOptions({headers: headers});
this.http.get('https://api.yelp.com/v3/businesses/search?term=deli20&latitude=39.59754&longitude=-104.872934', options).map(res => res.json()).subscribe(data => {
this.restaurants = data.data.children;
console.log(this.restaurants);
});
}
}
home.html
<ion-header>
<ion-navbar>
<ion-title>
Ionic Blank
</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
The world is your oyster.
<p>
If you get lost, the <a href="http://ionicframework.com/docs/v2">docs</a> will be your guide.
</p>
<!--Just using Ionic 2's default home page, just wanna output my JSON to the console for now.-->
</ion-content>
您对我可能遗漏的内容有何想法?将此内容添加到您的浏览器中,打开并重新加载页面。它应该可以正常工作将其添加到浏览器中,打开并重新加载页面。它应该可以正常工作看起来您需要在HTTP头中提供一个访问令牌-查看此处了解更多信息:这就是我所使用的:var headers=new headers();headers.append('Authorization','Bearer someString');var options=newrequestoptions({headers:headers});你在用你真正的代币替换“someString”,对吧?哈哈,是的,我是。我确实注意到了Github问题,作者确定YelpAPI不支持CORS或JSONP。这是否意味着Ionic 2应用程序将无法访问Yelp API,因为(我很确定)它使用Javascript发出请求?看起来您需要在HTTP头中提供访问令牌-查看此处了解更多信息:我以为我正在使用:var headers=new headers();headers.append('Authorization','Bearer someString');var options=newrequestoptions({headers:headers});你在用你真正的代币替换“someString”,对吧?哈哈,是的,我是。我确实注意到了Github问题,作者确定YelpAPI不支持CORS或JSONP。这是否意味着Ionic 2应用程序将无法访问Yelp API,因为(我很确定)它使用Javascript发出请求?欢迎提供指向解决方案的链接,但请确保您的答案在没有它的情况下是有用的:这样您的其他用户将知道它是什么以及它为什么存在,然后引用你链接到的页面最相关的部分,以防目标页面不可用。欢迎链接到解决方案,但请确保您的答案在没有它的情况下是有用的:这样您的其他用户就会知道它是什么以及它为什么在那里,然后引用您链接到的页面的最相关部分,以防目标页面不可用。