2017-07-11 1 views
-1

firebaseクラウド機能からjsonを取得したいとします。Access Control-Allow-Originを追加した後、要求されたリソースエラーに「Access-Control-Allow-Origin」ヘッダーが存在しません。

したがって、jsonのURLはブラウザと私のAndroidアプリケーションで動作します。しかし、私はそれを私のjavascriptコードで試してみると何も表示されません。

私が使用

そして、これは、応答を送信するために私のコードである私にエラーノードJS

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. 

を与え、

res.set('Access-Control-Allow-Origin', "*"); 
res.set('Access-Control-Allow-Methods', 'GET, POST'); 
res.status(200).send(JSON.stringify(datacompletearrayPaged)); 

と、クライアント側で、

jsonを取得するためのコード

$.get(url, (r) => console.log(r)) 
+1

エラーメッセージが存在しません。サーバーは、ある時点でヘッダーのないものに応答しています。 –

答えて

-2

ご要望にはcrossDomain: trueプロパティを含める必要があります。

あなたは$.get()にオプションを提供することはできませんので、あなたの代わりに$.ajax()を使用する必要があります:

$.ajax({ url, crossDomain: true }, r => console.log(r)); 
+0

...いいえ。クロスドメインリクエストの場合、jqueryによってこのフラグが変更されます。 –

+1

'crossDomain'が何のためにドキュメントを読んでいるのか、それはCORSとは関係がなく、通常は完全に誤解されています... – charlietfl

+1

そしてもっと現バージョンでは' $ .get'にオプションを与えることができます – charlietfl

関連する問題