我正在構建一個非常簡單的webapp。我今天安裝了Couch 1.3.1並創建了一個數據庫。我試圖將文檔保存到我的本地沙發(本地主機:5984)與客戶端瀏覽器也localhost上一個職位,但不同的端口(6789)CouchdB Jquery Ajax POST CORS
var dbIp = "http://localhost:5984/commute";
var data = {state:0,timestamp:"faketime"};
$.ajax({
type: 'POST',
crossDomain: true,
contentType: "application/json",
url: dbIp,
data: data,
success: function(result) {
console.log(result);
}
});
我得到:
XMLHttpRequest cannot load http://localhost:5984/commute-tracker. Origin http://localhost:6789 is not allowed by Access-Control-Allow-Origin.
我已經修改了local.ini啓用CORS與
[httpd]
enable_cors = true
[cors]
origins = *
[cors]
methods = GET, POST, PUT, DELETE
我可以看到所有這些變化反映在蒲團配置文件中列出couchdb spec。我也有捲曲測試數據庫:
curl -X POST localhost:5984/commute -H "Content-Type: application/json" -d '{"tags":"sure","name":"made it"}'
的捲曲工作得很好,但我不能做,因爲訪問控制的瀏覽器類似的職位允許起源。還有什麼我錯過了,或者我可以改變什麼使這個POST成爲可能?
我不認爲jquery支持CORS,因爲IE7,8和9不支持它。你使用的是什麼版本的jQuery? – HMR
我正在使用jQuery 1.10.1 –
當您在瀏覽器(Chrome)中打開url時,您應該能夠在網絡選項卡中看到響應標題(按F12打開開發工具),確保它具有正確的cors。我認爲你已經在使用Chrome了,因爲這個錯誤看起來像Chrome會給你帶來的錯誤。 JQuery應該與Cors一起工作,只要你沒有使用IE <9 – HMR