我正在尝试在couchdb中保存Backbone模型,所以我用ajax requet覆盖了save
方法到couchdb:
$.ajax({
type: 'PUT',
url: 'http://127.0.0.1:5984/movies/' + this.get('id'),
contentType: 'application/json',
data: JSON.stringify(this.toJSON()),
success: function() {
console.log('asdf');
},
failure: function() {
console.log('test');
}
});
发送请求但是当我查看couchdb日志时,jQuery似乎发送了OPTIONS
HTTP方法而不是PUT
:
[info] [< 0.1601.0>] 127.0.0.1 - - 'OPTIONS'/ movies / 862 405
并且couchdb发送405
HTTP响应代码(不允许使用方法)。任何想法?
修改 以下是发送到CouchDB的标题:
OPTIONS /movies/862 HTTP/1.1
Host: 127.0.0.1:5984
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Origin: http://localhost:8888
Access-Control-Request-Method: PUT
Access-Control-Request-Headers: content-type
答案 0 :(得分:2)
有一个用于couch-db的骨干连接器.. https://github.com/janmonschke/backbone-couchdb
答案 1 :(得分:0)
所有浏览器都不支持PUT。此外,您的数据属性是“数据”,而不是“正文”。