2017-01-31 4 views
0

Ich erhalte den folgenden Fehler, wenn ich einen Aufruf an WP REST API mit Vue.js und Axios.Fehler WordPress REST API V2 Anruf mit Vue.js

XMLHttpRequest kann http://my-wordpress-site.com/wp-json/wp/v2/posts nicht geladen werden. Der 'Access-Control-Allow-Origin'-Header hat den Wert' http://null ', der nicht dem angegebenen Ursprung entspricht. Ursprung 'Null' ist daher nicht erlaubt.

Wenn ich Postman mit GET-Methode verwenden, funktioniert es korrekt.

Wo ist das Problem?

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>

+0

Es ist ein CORS verwandtes Problem. https://en.wikipedia.org/wiki/Cross-origin_resource_sharing – Potray

+0

@potray Ich bin mir sicher. Aber ich kann keine Lösung finden. – gassio

Antwort

0

Ich löste es durch eine Linie in wp-includes Ändern/Rest-api.php Datei,
in rest_send_cors_headers() Funktion:

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

+0

Bearbeiten von WordPress-Kern scheint nicht eine praktikable Lösung. – Jordan