Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Couchdb-cors问题_Javascript_Jquery_Ember.js_Couchdb_Cors - Fatal编程技术网

Javascript Couchdb-cors问题

Javascript Couchdb-cors问题,javascript,jquery,ember.js,couchdb,cors,Javascript,Jquery,Ember.js,Couchdb,Cors,我正在尝试使用jquery.coach.js在我的ember.js应用程序中执行coach操作,但我遇到了cors问题,我不知道什么是好的解决方案 在我看来,在端口5984上运行的沙发会使它基本上无法使用吗?为什么对不同端口的请求会导致cors问题?还有,其他人到底是如何在沙发上工作的呢?我非常困惑,不知道如何继续 我的coach实例从curl返回此值: {"couchdb":"Welcome","version":"1.2.0"} 我尝试运行失败的代码如下: $.couch.urlPrefi

我正在尝试使用
jquery.coach.js
在我的
ember.js
应用程序中执行coach操作,但我遇到了cors问题,我不知道什么是好的解决方案

在我看来,在端口5984上运行的沙发会使它基本上无法使用吗?为什么对不同端口的请求会导致cors问题?还有,其他人到底是如何在沙发上工作的呢?我非常困惑,不知道如何继续

我的coach实例从
curl
返回此值:

{"couchdb":"Welcome","version":"1.2.0"}
我尝试运行失败的代码如下:

$.couch.urlPrefix = "http://127.0.0.1:5984";
$.couch.login({
    name: 'name',
    password: 'secret'
});
我已经多次修改了
urlpeffix
部分,比如
localhost
,并删除了这两个版本的
http://

它抛出的错误:

XMLHttpRequest cannot load http://127.0.0.1:5984/_session. Origin http://localhost is not allowed by Access-Control-Allow-Origin.
救救我!我谦虚地承认我这样说是没有必要的,但是如果couchdb被构建到基本功能中,它又如何有用呢

哦,我把jquery.coach.js包括在内,就像这样:

<script src="http://localhost:5984/_utils/script/jquery.couch.js"></script>
由于以前的问题,使用jquery迁移:

<script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script>

编辑


我刚才尝试将
crossDomain:true,xhrFields:{withCredentials:true}
添加到我的
login
调用中,但没有成功。完全相同的错误消息。我显然缺少一个核心概念。

您看到的消息是指服务器,而不是客户端。正如您所报告的,对客户端呼叫所做的更改不会改变结果

特别是在CouchDB 1.4中,必须显式启用CORS支持,并且必须进行起源声明。也就是说,根据您使用CouchDB实例的方式,有两种方法可以启用它:

  • 直接更改
    local.ini中的设置,然后重新启动实例,有关更多信息,请参见此处:
  • 如果您有
    futon
    可用,请转到设置并在那里找到设置并启用它,在这种情况下无需重新启动
更新 似乎CORS部分在默认情况下并不总是存在,在本例中,您只需自己添加它


希望有帮助。

您看到的消息是指服务器,而不是客户端。正如您所报告的,对客户端呼叫所做的更改不会改变结果

特别是在CouchDB 1.4中,必须显式启用CORS支持,并且必须进行起源声明。也就是说,根据您使用CouchDB实例的方式,有两种方法可以启用它:

  • 直接更改
    local.ini中的设置,然后重新启动实例,有关更多信息,请参见此处:
  • 如果您有
    futon
    可用,请转到设置并在那里找到设置并启用它,在这种情况下无需重新启动
更新 似乎CORS部分在默认情况下并不总是存在,在本例中,您只需自己添加它


希望有帮助。

您看到的消息是指服务器,而不是客户端。正如您所报告的,对客户端呼叫所做的更改不会改变结果

特别是在CouchDB 1.4中,必须显式启用CORS支持,并且必须进行起源声明。也就是说,根据您使用CouchDB实例的方式,有两种方法可以启用它:

  • 直接更改
    local.ini中的设置,然后重新启动实例,有关更多信息,请参见此处:
  • 如果您有
    futon
    可用,请转到设置并在那里找到设置并启用它,在这种情况下无需重新启动
更新 似乎CORS部分在默认情况下并不总是存在,在本例中,您只需自己添加它


希望有帮助。

您看到的消息是指服务器,而不是客户端。正如您所报告的,对客户端呼叫所做的更改不会改变结果

特别是在CouchDB 1.4中,必须显式启用CORS支持,并且必须进行起源声明。也就是说,根据您使用CouchDB实例的方式,有两种方法可以启用它:

  • 直接更改
    local.ini中的设置,然后重新启动实例,有关更多信息,请参见此处:
  • 如果您有
    futon
    可用,请转到设置并在那里找到设置并启用它,在这种情况下无需重新启动
更新 似乎CORS部分在默认情况下并不总是存在,在本例中,您只需自己添加它


希望有帮助。

对于那些使用Cookie身份验证(而不是密码身份验证)并在CouchDB服务器返回的Ajax请求中重用Cookie的人,您仍然需要在对CouchDB的$.Ajax()请求中执行此操作:

xhrFields: {withCredentials: true},
这意味着您必须打开来自coach服务器的jquery.coach.js文件,并手动将该选项插入javascript

如果不在客户端执行此操作并在服务器端设置“credentials=true”,CORS就无法为我工作


现在编写的原始jquery.coach.js不支持客户端通过CORS发送Cookie,因此您必须自己发送Cookie,直到有人打开票据才能修复此问题。

适用于使用Cookie身份验证(而不是密码身份验证)的用户如果要重用CouchDB服务器返回的Ajax请求中的cookie,您仍然需要在对CouchDB的$.Ajax()请求中执行此操作:

xhrFields: {withCredentials: true},
这意味着您必须打开来自coach服务器的jquery.coach.js文件,并手动将该选项插入javascript

如果不在客户端执行此操作并在服务器端设置“credentials=true”,CORS就无法为我工作


现在编写的原始jquery.coach.js不支持客户端使用CORS发送Cookie,因此您必须自己发送Cookie,直到有人打开票证才能修复此问题。

适用于使用Cookie身份验证(而不是密码身份验证)并在Ajax中重用Cookie的用户