Я нашел ответ здесь на вопрос ниже.
Мне нужно было настроить обратный прокси в apache, что заняло около 2 минут добавление следующей строки к моему виртуальному хосту;
ProxyPass / couchdb / http: // dojo: 5984 /
Из-за той же политики происхождения вы не можете отправлять данные через порты. Я знал, что это применимо к доменам, но не к другим портам, поэтому вы настраиваете обратный прокси.
Я хотел бы знать, как я могу отправлять данные POST в couchDB с помощью JavaScript или jQuery.
Я следил за этим tut ] и создал базу данных, и я могу публиковать и получать данные с помощью curl, и все работает нормально. Ниже приведены примеры curl, которые я использовал.
Я также могу получать данные с помощью jQuery, но я не знаю, как отправить POST в CouchDB
curl -X GET http://127.0.0.1:5984/mycouchshop/_all_docs .
curl -X POST http://127.0.0.1:5984/mycouchshop/ -d @ person.json -H "Content-Type: application / json"
Я могу получить и отобразить данные с помощью jQuery. Приведенный ниже код работает нормально.
$.ajax({
url : 'http://couchdb:5984/mycouchshop/_design/peoples/_view/people',
type : 'GET',
dataType : "jsonp",
success : function(json) {}
});
Но публикация данных приводит к 405 Метод запрещен
$.ajax({
url : 'http://couchdb:5984/mycouchshop/',
data : {"forename": "Bob", "surname": "McHamster", "type": "person"},
contentType : "application/json",
type : 'POST',
dataType : "json",
success : function(resp) {}
});