この機能は、シンプルな(読み取り専用)RESTインターフェースの一部としてサポートされています。 a> ただし、クロスドメインリクエストを行うには、 --jsonp
それ以外の場合は、同一生成元ポリシー
が適用されます。 問題が発生しました。リクエスト元のIPアドレスとポートが、mongoDBが実行されているIPアドレスとポートと一致しないためです。
mongoDBを起動します mongod.exe --rest --jsonp
を使用 (さらに、他のオプションもあります。)
次のサンプルページは、Webサーバーを介して提供できます(たとえば、ApacheHTTPサーバー )または単にローカルに保存され、ファイルとしてブラウザにロードされます 。リクエストは、 andybと呼ばれるdbCollectionに関する情報です。 、最初にmongoDBで作成したもの:
db.createCollection('andyb');
HTML
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>mongoDB AJAX demo</title>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
<script type='text/javascript'>//<![CDATA[
$(function(){
$.ajax({
url: 'http://localhost:28017/local/andyb',
type: 'get',
dataType: 'jsonp',
jsonp: 'jsonp', // mongod is expecting the parameter name to be called "jsonp"
success: function (data) {
console.log('success', data);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
console.log('error', errorThrown);
}
});
});//]]>
</script>
</head>
<body>
</body>
</html>
多くのブラウザは、CORS をサポートしています。 これは、クロスドメインリソースを促進するための代替(より現代的な)方法です。