gpt4 book ai didi

javascript - 405 不允许从 javascript 获取 couchdb 文档的方法

转载 作者:行者123 更新时间:2023-11-28 04:35:22 25 4
gpt4 key购买 nike

我正在使用 quasar-framework 项目和一个名为 product 的 couchdb 数据库。

我尝试向某个文档发出 GET 请求,但出现以下错误:

错误

:8080/#/:1 XMLHttpRequest cannot load http://localhost:5984/product. Response for preflight has invalid HTTP status code 405

vue-resource.es2015.js?fc90:1085 OPTIONS http://localhost:5984/product 405 (Method Not Allowed)

Index.vue

    getProyect() {
var deferred = Q.defer()
var url = "http://localhost:5984/product/product1"
Vue.http.get(url)
.then(
function (response) {
deferred.resolve(response.data)
console.log("success getting response")
},
function (error) {
var msg = 'N/A'
console.log('ERROR get:', error)
deferred.reject(msg)
}
)
return deferred.promise
}

-通过 postman 执行相同的请求可以正常工作。

可以使用curl查看cors配置:

curl -X GET admin:admin@localhost:5984/_config/cors
//Output
{"credentials":"true","origins":"*","headers":"accept, authorization, content-type, origin, referer, x-csrf-token","methods":"GET, PUT, POST, HEAD, DELETE, OPTIONS"}

我还遇到了在 couchdb 服务器上允许 cors 的问题,并通过编辑 local.ini 解决了这个问题,但这个不知道如何修复它。任何帮助将不胜感激。

最佳答案

我使用 nginx 作为 couchdb 的反向代理解决了这个问题。现在我的应用程序正在端口 80 上运行。

/etc/nginx/sites-enabled/default中我添加了:

location /couchdb {
rewrite /couchdb/(.*) /$1 break;
proxy_pass http://localhost:5984;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

现在我的 Index.vue 看起来像:

getProyect() {
var deferred = Q.defer()
var url = "http://localhost/couchdb/product/product1" //where db = product documentID = product1
Vue.http.get(url)
.then(
function (response) {
deferred.resolve(response.data)
console.log("success getting response")
},
function (error) {
var msg = 'N/A'
console.log('ERROR get:', error)
deferred.reject(msg)
}
)
return deferred.promise
}

来源:https://cwiki.apache.org/confluence/display/COUCHDB/Nginx+as+a+proxy

编辑:另一种解决方案只需使用 PouchDB客户端。

关于javascript - 405 不允许从 javascript 获取 couchdb 文档的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44263106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com