未捕获(承诺):响应状态:401 未经授权的 URL:http://example.com/wp-json/wp/v2/posts

Posted

技术标签:

【中文标题】未捕获(承诺):响应状态:401 未经授权的 URL:http://example.com/wp-json/wp/v2/posts【英文标题】:Uncaught (in promise): Response with status: 401 Unauthorized for URL: http://example.com/wp-json/wp/v2/posts 【发布时间】:2018-08-13 04:40:46 【问题描述】:

我正在尝试使用 ionic 中的 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 未经授权的 URL:http://example.com/wp-json/wp/v2/posts

看看 netwokr 调试怎么说:

直接从浏览器访问http://example.com/wp-json/wp/v2/posts会返回预期的结果。

【问题讨论】:

【参考方案1】:

我的问题来自 this.http.post(apiUrl, headers: headers)。

我应该使用 get 而不是 post this.http.get(apiUrl, headers: headers).

【讨论】:

以上是关于未捕获(承诺):响应状态:401 未经授权的 URL:http://example.com/wp-json/wp/v2/posts的主要内容,如果未能解决你的问题,请参考以下文章

未经授权的访问 - mapbox:服务器响应状态为401

如果刷新(JWT)令牌未经授权(401响应),AngularJS重定向到登录

状态:401 在邮递员中未经授权

删除和选项请求获得 401 未授权响应

一般的响应状态码

Rapidapi & 401 未经授权的响应