【问题标题】:How to get JSON data from WP REST API如何从 WP REST API 获取 JSON 数据
【发布时间】:2019-08-06 13:23:39
【问题描述】:

长期以来,我一直在研究如何访问我的 WordPress 帖子。我将 WP REST API 插件与 WP REST API - OAuth 1.0a 服务器一起使用,我收到“401 - 只有经过身份验证的用户才能访问 REST API”错误。

我已经阅读了所有文档,并且我触摸了.htaccess,我快疯了。请高人帮忙,我不知道该怎么办,我要放弃了。

我尝试在.htaccess 文件中添加一些代码,还尝试了 AJAX 和 JavaScript 提取,但似乎没有任何效果。我知道有人在使用它。很高兴有人能告诉我如何解决这个问题,我真的需要它。

jQuery.ajax({
   url: 'http://laprensainsolita.com/wp-json/wp/v2/posts',
   method: 'GET',
   crossDomain: true,
   beforeSend: function ( xhr ) {
       xhr.setRequestHeader( 'Authorization', 'Basic ' + Base64.encode( 'username:password' ) );
   },
   success: function( data, txtStatus, xhr ) {
       console.log( data );
       console.log( xhr.status );
   }
});

我需要在.htaccess 文件中添加任何代码吗?如果是这样,我应该把它放在哪里?或者需要什么来完成这项工作。我很绝望。

错误:

{
  "code": "rest_cannot_access",
  "message": "Only authenticated users can access the REST API.",
  "data": {
    "status": 401
  }
}

【问题讨论】:

  • 我假设您已将'username:password' 更改为实际上成为您设置的用户名和密码?此外,这非常非常在任何方面都不是安全的。
  • @RoryMcCrossan 是的,先生,为了安全起见,我没有把它放在这里我的真实用户名和密码
  • 我认为,Rory 试图告诉您的是,以这种方式传递您的真实用户名和密码是不安全的。你确定这是插件开发者推荐的方式吗?
  • 你好@cabrerahector 啊好的好的,是的,我知道这不安全,但我只是在测试,我只是想工作。

标签: javascript jquery json ajax wordpress


【解决方案1】:

请尝试传递字段以存储凭据。将此片段添加到您的 AJAX 调用中

xhrFields: {
    withCredentials: true
},

您的电话应如下所示:

Query.ajax({
 url: 'http://laprensainsolita.com/wp-json/wp/v2/posts',
 method: 'GET',
 crossDomain: true,
 xhrFields: {
    withCredentials: true
},
 beforeSend: function ( xhr ) {
   xhr.setRequestHeader( 'Authorization', 'Basic ' + Base64.encode( 
             'username:password' ) );
 },
   success: function( data, txtStatus, xhr ) {
   console.log( data );
   console.log( xhr.status );
 }
});

【讨论】:

  • 你好 Yuri 谢谢,但现在我得到这个错误 = Base64 is not defined
  • 替换 xhr.setRequestHeader('Authorization', 'Basic' + Base64.encode('username:password')); with xhr.setRequestHeader('Authorization', 'Basic' + btoa('myuser:mypswd'));
猜你喜欢
  • 2017-05-25
  • 1970-01-01
  • 1970-01-01
  • 2019-02-23
  • 2015-11-17
  • 2016-12-30
  • 1970-01-01
  • 2018-10-25
  • 1970-01-01
相关资源
最近更新 更多