Cross-Site-Ajax-Anfrage mit Vue.js 1.0 und Vue Resource. Ich erhalte den folgenden Fehler: XMLHttpRequest kann http://dev.markitondemand.com/MODApis/Api/v2/Lookup/jsonp?input=NFLX&callback=handleResponse nicht laden. Kein 'Access-Control-Allow-Origin'-Header ist auf der angeforderten Ressource vorhanden.Vue.js + Vue-Ressource Nein 'Access-Control-Allow-Origin'
Ich habe ein grundlegendes Verständnis des Problems, aber nicht sicher, wie Sie eine Rückruffunktion mit der Anfrage hinzufügen oder ob das die beste Lösung für dieses Beispiel ist. Ich habe hier die vollständige Anforderungs-URL eingegeben, um die Verfolgung zu erleichtern.
new Vue({
el: '#stockList',
data: function() {
return {
query: '',
stocks: []
};
},
ready: function() {
this.getStocks();
},
methods: {
getStocks: function() {
this.$http.get('http://dev.markitondemand.com/MODApis/Api/v2/Lookup/jsonp?input=NFLX&callback=handleResponse',
function(data) {
this.stocks = data;
}
);
}
}
})
Die Fehlermeldung gibt eindeutig an, dass der Server den Ursprung nicht zulässt. Bei Cross-Site-Anfragen muss der Server die Herkunft (en) zurückgeben/angeben, die Ressourcen anfordern dürfen. Wenn Sie die Kontrolle über den Server haben, geben Sie dies bitte an dieser Header-Wert in Antwort oder '*' für alle. –
Vielleicht verstehe ich das Problem dann nicht. Ich führe einen lokalen Entwicklungsserver, um JavaScript und Vue zu lernen, also habe ich die Kontrolle über den Ursprungsserver, denke ich. Ich habe keine Kontrolle über den markitondemand.com Server, obwohl wenn Sie diese URL in den Browser stellen, gibt es eine Antwort zurück. Ich dachte, mit JASONP vermieden das Cross-Site-Protokoll? Kannst du mir erklären, was ich vermisse? Danke – BrioDev
Nun, scheint die Art und Weise, wie Sie die Anfrage Cross-Site ist, und der Server ist nicht konfiguriert, dies zu tun. –