微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – jQuery PUT ajax请求无法正常工作

我正在尝试在couchdb中保存Backbone模型,所以我用ajax requet覆盖了savedb方法到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

解决方法:

一个用于couch-db .. https://github.com/janmonschke/backbone-couchdb的主干连接器

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐