我正在制作一个非常简单的 webapp 原型。我今天安装了 Couch 1.3.1 并创建了一个数据库。我正在尝试使用来自客户端浏览器的 POST 将文档保存到我的本地沙发(本地主机:5984),但端口不同(6789)
var dbIp = "http://localhost:5984/commute";
var data = {state:0,timestamp:"faketime"};
$.ajax({
type: 'POST',
crossDomain: true,
contentType: "application/json",
url: dbIp,
data: data,
success: function(result) {
console.log(result);
}
});
我得到:
XMLHttpRequest cannot load http://localhost:5984/commute-tracker. Origin http://localhost:6789 is not allowed by Access-Control-Allow-Origin.
我已修改 local.ini 以启用 CORS,如couchdb 规范中所述
[httpd]
enable_cors = true
[cors]
origins = *
[cors]
methods = GET, POST, PUT, DELETE
我可以看到所有这些更改都反映在蒲团的配置文件中。我还用 curl 测试了数据库:
curl -X POST localhost:5984/commute -H "Content-Type: application/json" -d '{"tags":"sure","name":"made it"}'
curl 工作得很好,但由于访问控制允许来源,我无法在浏览器中进行类似的 POST。我还缺少什么,或者我可以改变什么来使这个 POST 成为可能?