Javascript jQuery使ajax请求不起作用

Javascript jQuery使ajax请求不起作用,javascript,ajax,jquery,couchdb,backbone.js,Javascript,Ajax,Jquery,Couchdb,Backbone.js,我正试图在couchdb中保存主干模型,因此我已经用对couchdb的ajax请求覆盖了save方法: $.ajax({ type: 'PUT', url: 'http://127.0.0.1:5984/movies/' + this.get('id'), contentType: 'application/json', data: JSON.stringify(this.toJSON()), success: function() { c

我正试图在couchdb中保存主干模型,因此我已经用对couchdb的ajax请求覆盖了
save
方法:

  $.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

[信息][]127.0.0.1-- “选项”/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

并非所有浏览器都支持PUT。此外,数据的属性是“数据”,而不是“正文”

有一个用于沙发db的主干连接器

“this”指向哪里?主干模型,但这不应该与HTTP请求方法有任何关系。问题是哪个版本的jQuery?AJAX部分最近被完全重写了。最新版本(今天下载)能否向我们展示您编写的整个自定义
save
方法?除了您发布的内容之外,还有其他内容吗?哪些浏览器?我已经在Firefox4、Chrome11和Safari5上对它进行了测试,为什么它会默认为很少使用的HTTP方法,而不是抛出一个错误?这是一个跨站点请求吗?您是否在浏览器中为正在查看的页面使用该IP?如果是这样的话,这就解释了为什么PUT被转移到access control method参数,并生成一个选项请求。它在本地主机上运行,只是在不同的端口上。这有关系吗?couchdb的工作方式(我认为)它必须在不同的端口上运行