使用Vue.js调用WordPress REST API V2时出错

时间:2017-01-31 09:27:18

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

当我使用Vue.js和axios调用WP REST API时,我收到以下错误。

  

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

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

问题出在哪里?

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>

1 个答案:

答案 0 :(得分:-1)

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

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