这对某些人来说可能非常基本(希望如此)但我已经注册了IBM bluemix并且我试图仅使用jQuery将文档发布到Cloudant数据库。该数据库称为historysites,文档具有名称,时代和访问的索引。它不适合我,我得到错误警报。任何有关初学者的CLoudant专家都会受到赞赏。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link href="css/history.css" rel="stylesheet">
</head>
<body>
<div id="holder">
<div id="heading"><h1 class="mainTitle">The Historical Site Exchange</h1> </div>
<div class="form-holder">
<h4 class="form-heading">Enter Your Historical Site to Match the List</h4><br />
<div class="insert-holder">
<form>
<div class="inserts">Name: <input type="text" id="one" style="width:80%;" /></div>
<div class="inserts">Era: <input type="text" id="two" style="width:80%;" /></div>
<div class="inserts">Access: <input type="text" id="three" style="width:80%;" /></div>
<div class="inserts"><button id="trialer">Add Site</button></div>
</form>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script>
$(document).ready(function(){
var one=$('#one').val();
var two=$('#two').val();
var three=$('#three').val();
$("#trialer").on('click', function(){
var requester={ name:one, era:two, access:three}
$.ajax({
type: 'POST',
url: "https://fba531c7-0a0e-437e-b1e3-962c3968f18e-bluemix:846d41093464a968dd6b12310cb78e2651cbf91bfd069c69d0e1b18447311213@fba531c7-0a0e-437e-b1e3-962c3968f18e-bluemix.cloudant.com/historysites",
data: requester,
success: function(ok){
alert('uploaded');
},
error: function(nope){
alert('afraid not');
}
});
});
});
</script>
</body>
</html>
答案 0 :(得分:0)
您不应直接从客户端JavaScript代码与数据库通信。任何人都可以通过查看浏览器中的源来查看您的数据库凭据。
此外,您没有告诉我们您遇到了什么错误,但浏览器可能会限制跨域xhr调用(安全限制)。在浏览器中打开开发人员控制台,然后查看控制台选项卡。浏览器默认情况下不允许JavaScript发布到另一个域,除非您调用的URL实现了CORS并且白色列出了您的域。
您可以从服务器端代码调用数据库,如php,node,servlet等
答案 1 :(得分:0)
确保您在服务器端连接到Cloudant数据库。连接数据库的方法很少。 一种方法是使用以下代码连接到您的cloudant数据库。确保将此代码写入包含路由的文件中,或者将其放在单独的文件中并将db导出到路径文件中:
var cloudant = require('cloudant')("MYUSERNAME:MYPASSWORD@MYACCOUNT.cloudant.com");
console.log("logged into cloudant");
db = cloudant.db.use("Name_of_database");
现在,您可以使用db.insert,db.destroy等访问数据库中的文档。
另一种方法是使用所有数据库访问信息创建和对象,然后使用它发送请求。
var options = {
hostname: "ACCOUNT.cloudant.com",
path: "/DB_NAME/DOCUMENT_ID",
method: 'GET',
auth: "USERNAME" +":" + "PASSWORD"
}
request.get(options, function(err,body) {...});
您要在“选项”中添加的变量会根据您的请求而有所不同。例如,您可能想要或不想添加标题,您可能需要删除文档ID等。请查看github.com/request/request上的文档,或者如果您对此有任何疑问,请在此处与我联系。方法。祝你好运。