我正在尝试将一个 Backbone 模型保存在 CouchDB 中,因此我已经重写了 save
方法,并使用 ajax 请求将其保存到 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
:
couchdb发送了一个[info] [<0.1601.0>] 127.0.0.1 - - 'OPTIONS' /movies/862 405
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
save
方法吗?除了你发布的内容之外,还有其他的东西吗? - Andrew Hare