编辑:原因是因为在cors下的couchDB配置中,PUT未启用。启用此功能后,它可以正常工作!
我正在尝试向couchDB添加一个新用户,它可以与邮递员一起使用,以获得一个例子
我使用管理员用户名和密码设置标题,然后发送以下内容
http://vps.xxxxxxxxx:5984/_users/org.couchdb.user:test
使用以下JSON
{"name":"dfbfdb","password":"fbdbfd","roles":[],"type":"user"}
我回来了
{"ok":true,"id":"org.couchdb.user:test","rev":"1-a9925d62c9529ab695ef0e7ff98e9965"}
然而,当试图在agular中做同样的事情时,我一直只是
OPTIONS http://vps.xxxxxx:5984/_users/org.couchdb.user:test2
(index):1 XMLHttpRequest cannot load http://vps.xxxxxx:5984/_users/org.couchdb.user:test2. Invalid HTTP status code 405
我为此建立的控制器如下所示。
app.controller('signUpController', ['UserService', '$http', '$location',
function(UserService, $http, $location) {
this.user = {
username: this.username,
password: this.password
}
this.register = function() {
var user = {
name: this.user.username,
password: this.user.password,
roles: [],
type: 'user'
}
console.log(user)
$http({
url: "http://vps.xxxxxxx:5984/_users/org.couchdb.user:" + user.name,
method: 'PUT',
withCredentials: true,
headers: {
'Authorization': auth_hash('adminname', 'adminpass')
},
data: user
}).success(function(data, status, headers, config) {
console.log('user added')
}).error(function(data, status, headers, config) {
console.log(angular.toJson(user))
console.log(status)
console.log(headers)
console.log(config)
})
}
}
]);
有没有人知道为什么它不会通过角度来做到这一点?
由于
答案 0 :(得分:0)
在CouchDB配置中
http://localhost:5984/_utils/config.html
确保' PUT'方法可以在CORS中使用。
因为我在不同的域上更新数据库,所以这就是我收到405错误的原因。