通常、非ローカルサーバーにjQueryリクエストを送信すると、Cross-site HTTP requestルールが適用され、最初にエンドポイントの存在を確認するOPTIONSリクエストが送信され、リクエストが送信されます。VueリソースクロスサイトHTTPリクエスト
GET to domain.tld/api/get/user/data/user_id
jQueryはうまく動作しますが、リクエストに対処するためにVueリソースを使用したいと思います。私のネットワークログでは、実際にリクエストが行われているだけです(最初にOPTIONSリクエストはありません)、データは受信されていません。
誰もがこれを解決する方法を持っていますか?
サンプルコード:
var options = {
headers: {
'Authorization': 'Bearer xxx'
}
};
this.$http.get(config.api.base_url + 'open/cities',[options])
.then(function(response){
console.log('new request');
vm.cities = response;
}, function(error){
console.log('error in .js:');
console.log(error);
});
ソリューション:
@Antonが述べたように、それは両方の要求(環境無視できる)を持っている必要はありません。それを動作させるために私が何を変えたのかはわかりませんが、要求は私にエラーを与えました。ヘッダーを正しく設定していました。ヘッダは、オプションとしてではなく、HTTPのプロパティとして渡すべきではありません。
this.$http({
root: config.api.base_url + 'open/cities', // url, endpoint
method: 'GET',
headers: {
'Authorization': 'Bearer xxx'
}
}).then(function(response){
console.log('new request');
vm.cities = response;
}, function(error){
console.log('error in .js:');
console.log(error);
});
は皆さんに感謝、それはチームの努力だった:)
あなたは私たちにあなたがどのようなオプションを使用するANSを使用しているlitlleコードを示してもらえますか? > https://github.com/pagekit/vue-resource/blob/master/docs/config.mdを見ましたか? –
にいくつかのコードが追加されました... vue-resourceのすべての設定可能性を調べましたが、コンソールには1つのリクエストしか表示されません。 – Lamarck
気づいたことがあるかどうかはわかりませんが、Chrome Dev Toolsのネットワークタブで、jQueryリクエスト(この場合はcitiesという名前)は2回表示されます(リクエストは1つしかコーディングされていませんが)それがエンドポイントとして有効であれば、もう1つはバックエンドから返されたオブジェクトを取得します。 Vue-Resourceでは、最初のリクエストのみがあります。私は質問のカップルの写真を追加することを許可します – Lamarck