对AJongDB的REST AJAX请求

前端之家收集整理的这篇文章主要介绍了对AJongDB的REST AJAX请求前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图激活 XMLHttpRequest到mongoDB以通过AJAX检索文档.

这是我的代码

function getJsonDocumentByModeldid(model_id) {
    var valoreInput = document.getElementById('inputModelId').value;
    alert(valoreInput);

    $.ajax({
      url: "http://localhost:28017/test/",type: "get",//data: "filter_a=" + valoreInput,dataType: 'jsonp',crossDomain: true,success: function (data) {
        alert("success");
        //var json2javascript = $.parseJSON(data);
        manageLayout();
      },error: function (XMLHttpRequest,textStatus,errorThrown) {
       alert("Status: " + textStatus + "    Error:" + errorThrown);
      }
  });
}

我的函数总是返回错误.那么问题是什么?

解决方法

功能作为 Simple (read-only) REST Interface的一部分受支持,但要使跨域请求 --jsonp,否则您将受到 Same origin policy问题的影响,因为您发出请求的IP地址和端口与mongoDB的IP地址和端口不匹配正在运行.

使用mongod.exe启动mongoDB –rest –jsonp(以及您可能拥有的任何其他选项).

以下示例页面可以通过Web服务器(例如Apache HTTP Server)提供,或者只是本地保存并作为文件加载到浏览器中.请求是关于名为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',jsonp: 'jsonp',// mongod is expecting the parameter name to be called "jsonp"
      success: function (data) {
        console.log('success',data);
      },errorThrown) {
        console.log('error',errorThrown);
      }
    });
  });//]]>
  </script>
</head>
<body>
</body>
</html>

许多浏览器现在支持CORS,这是一种促进跨域资源的替代(更现代)方式.

猜你在找的Ajax相关文章