【问题标题】:Error WordPress REST API V2 call with Vue.js使用 Vue.js 调用 WordPress REST API V2 时出错
【发布时间】:2017-06-16 16:05:14
【问题描述】:

当我使用 Vue.js 和 axios 调用 WP REST API 时出现以下错误。

XMLHttpRequest 无法加载 http://my-wordpress-site.com/wp-json/wp/v2/posts。 “Access-Control-Allow-Origin”标头的值“http://null”不等于提供的原点。 因此,不允许访问 Origin 'null'。

当我使用带有 GET 方法的 Postman 时,它工作正常。

问题出在哪里?

var app = new Vue({
  el: '#app',
  data: {
    posts: [],
  },
  mounted: function() {
    this.getPosts()
  },
  methods: {
    getPosts: function() {
      var app = this

      axios.get('http://my-wordpress-site.com/wp-json/wp/v2/posts')
      .then(function (response) {
        app.posts = response.data.title.rendered
      })
      .catch(function (error) {
        console.log(error)
      })
    }
  }
});
<div id="app">
  <div class="section">
    <ul>
      <li v-for="post in posts">{{ post }}</li>
    </ul>
    <h3></h3>
  </div>
</div>

【问题讨论】:

标签: wordpress xmlhttprequest vue.js axios wp-api


【解决方案1】:

我通过在 wp-includes/rest-api.php 文件中更改一行来解决它,
在 rest_send_cors_headers() 函数中:

header( 'Access-Control-Allow-Origin: *');

【讨论】:

  • 编辑 WordPress 核心似乎不是一个可行的解决方案。
  • 我很欣赏您的评论,但这是一个小问题,无法解决问题。如果 wordpress 得到更新,整个事情就会消失。这就是我投反对票的原因?
猜你喜欢
  • 1970-01-01
  • 2018-02-17
  • 1970-01-01
  • 1970-01-01
  • 2017-10-17
  • 2018-02-05
  • 2017-07-16
  • 2014-01-09
  • 1970-01-01
相关资源
最近更新 更多