jQuery PUT ajax-запрос не работает - PullRequest
4 голосов
/ 01 мая 2011

Я пытаюсь сохранить модель 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, похоже, отправляет HTTP-метод OPTIONS вместо 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

Ответы [ 2 ]

2 голосов
/ 16 июня 2011

Есть магистральный разъем для couch-db .. https://github.com/janmonschke/backbone-couchdb

0 голосов
/ 01 мая 2011

PUT поддерживается не всеми браузерами.Кроме того, свойство для ваших данных - «данные», а не «тело».

...