GET リクエストのクロス ドメインを設定しようとしています。ドメイン A がターゲットで、/getUser というサービスがあります。
(...)
server.get('/getUser', function(req, res) {
console.log('Call received');
}
(...)
ご覧のとおり、あまり効果がありませんが、リクエストが確実に届くようにしているだけです。ドメイン A には、このサービスへの呼び出しを実装するパブリック js ファイルがあります。
function callDomainA(){
var url = 'https://domainA.com/getUser?callback=?';
var xhr = _createCORSRequest('GET', url);
if (!xhr) {
console.log('CORS not supported by browser, try jsonp');
_doJSONP(url)
}
else{
xhr.onload = function() {
console.log('Success : ' + JSON.stringify(xhr.responseText));
};
xhr.onerror = function() {
console.log('ERROR : There was an error with the CORS request.');
};
}
xhr.send();
return false;
}
function _doJSONP(){
(...)
}
function _createCORSRequest(method, url) {
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr)
xhr.open(method, url, true); // XHR for Chrome/Firefox/Opera/Safari.
else if (typeof XDomainRequest != "undefined") {
xhr = new XDomainRequest(); // XDomainRequest for IE.
xhr.open(method, url);
}
else
xhr = null; // CORS not supported.
return xhr;
}
次に、ドメイン A から js スクリプトをロードし、callDomainA() 関数を実行するドメイン B があります。
<script src="https://domainA.com/domainApublicjsfile.js" type="text/javascript"></script>
(...)
callDomainA();
(...)
ドメイン A への呼び出しを含むドメイン B のページをロードし、callDomainA() への呼び出しをトリガーすると、コードはブラウザー (Firefox) が CORS を実行できることを検出しますが、受信したヘッダーはエラー 500 と ns_error_dom_bad_uri を示します。
ドメインAでCORSリクエストなどを受け入れるために何もしていないので、このようなことを期待しますが、リクエストがサービスに届かないように見えるか、少なくともconsole.log()が何も登録していません。
何か不足していますか?
よろしくお願いいたします。