私は、内蔵のhttpsパッケージをロードするnode.jsスクリプトを使用しています。それを使用している場合、私はエラーを取得する:node.jsのみを使用してapi呼び出しで 'withCredentials'を無効にする方法(httpsパッケージ)
XMLHttpRequest cannot load [constructed-api-url]. A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true. Origin 'http://localhost:3000' is therefore not allowed access. The credentials mode of an XMLHttpRequest is controlled by the withCredentials attribute.
私はNode.jsの4.4.3を使用していて、そのhttps api docsが本当にwithCredentialsについては何も言及していません。
使用されているスクリプトはthis oneです。
node.js httpsを使用してxhr呼び出しのwithCredentialsをfalseに設定する必要はありますか?
私はこのjQueryのAJAX呼び出し(ちょうどXHR分野に焦点を当てた)に類似したものに探しています:
$.ajax({
type: 'POST', async:true,
url: 'https://someapp.constructed.url/token',
dataType: "json",
contentType: 'application/x-www-form-urlencoded; charset=utf-8',
xhrFields: {
withCredentials: true
},
headers: {
'Authorization': 'Basic ' + appInfo
},
success: function (result) {
var token = result.access_token;
//…
},
error: function (req, status, error) {
if (typeof(req) != 'undefined') {
var msg = status || req.responseJSON.error;
//…
}
}
});
あり、別の非常に同様の例があるが、これは要求パッケージ、Iドンに関連しています依存関係に含めたい。私の使用しているスクリプトはすでにhttpsを使用しています。だから、答えはそこにすべての後、すべての時間だった
これは、ブラウザのエラーであり、それはノードとは何の関係もありません。 –
@AlexeyTen:もちろん、ノードのフォルトではありませんが、jquery ajaxの例から、問題の特定のxhrフラグをリクエストコードから設定できることが示されています。これはnode.jsのhttpsモジュールから行うことができますか? – j4v1
ノードはこのフラグを気にしません。あなたのブラウザで実行されるJSコードでそれを探す必要があります。 –