我试图使用angular js promise在离子中从我的wordpress网站获取json数据 使用以下代码:
import { Injectable } from '@angular/core';
import {Headers, Http} from '@angular/http';
import 'rxjs/add/operator/map';
let apiUrl = 'http://example.com/wp-json/wp/v2/posts';
/*
Generated class for the NewsProvider provider.
See https://angular.io/guide/dependency-injection for more info on providers
and Angular DI.
*/
@Injectable()
export class NewsProvider {
constructor(public http: Http) {
console.log('Hello NewsProvider Provider');
}
getPosts(){
return new Promise((resolve, reject) =>{
let headers = new Headers();
this.http.post(apiUrl, {headers: headers}).
subscribe(res =>{
resolve(res.json());
}, (err) =>{
reject(err);
});
});
}
}
现在调用此方法时出现以下错误:
未捕获(承诺):状态响应:401网址未经授权:http://example.com/wp-json/wp/v2/posts
直接从浏览器访问http://example.com/wp-json/wp/v2/posts会返回预期结果。
答案 0 :(得分:0)
我的问题来自this.http.post(apiUrl,{headers:headers})。
我应该使用get而不是帖子 this.http.get(apiUrl,{headers:headers})。