我正在使用带有angularjs的rails并尝试登录FB获取
No 'Access-Control-Allow-Origin' header is present on the requested resource
在阅读了更多内容之后,我发现响应头应该具有该值。所以我创建了自定义机架中间件,它使用标题'Access-Control-Allow-Origin'发送响应,但令我惊讶的是仍然得到相同的错误。 这是我从Chrome浏览器中捕获的请求和响应
. Request URL:http://example.com:3000/users/auth/facebook
. Request Method:GET
. Status Code:302 Found
. Request Headersview source
. Accept:application/json, text/plain, */*
. Accept-Encoding:gzip,deflate,sdch
. Accept-Language:en-US,en;q=0.8
. Connection:keep-alive
. Cookie:request_method=GET; _test-cors_session=YUhTOEdYK3NaNm56VnV1NkZCaGRUU2VpQWRhb0pDZVVNc2hkRTFRM3E0dVUwWkJLM3RQand5Y1ZHQVozOXF3NVFVQnlZRGJLNlpVdm1rd0NLbmJUeG9TRExTTjNScVJNaDVhdFg2QnRXUVdYemJyYkt5VnJXcFhnRUJlMFlvaCtNYzZOV3VhNWlGTWpvdGlrTmJ5NUdmd3RJK0VneXlYMG8yMnkyT1hYMHI1czQrTDRybnIvSHREc1JEM2paRHNMLS11Z0xRUTk2TE1Sa3JVYTNieHk1Q3B3PT0%3D--ff30ad1fa1cd900e1270aa8b3dea2bb383973c06; _itinerary_session=BAh7CkkiD3Nlc3Npb25faWQGOgZFVEkiJWRlYWJhNTIyZjk5YjllMTQ5OGQyZWJlZGM0NzQwZTQ0BjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMWRnWFQ2U0VlZUFJZndwUnZNSlEyRHNNVXJJeTM5NFZtcWtZWmtQMUwwdGc9BjsARkkiFG9tbmlhdXRoLnBhcmFtcwY7AFR7AEkiFG9tbmlhdXRoLm9yaWdpbgY7AFQiG2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9JIhNvbW5pYXV0aC5zdGF0ZQY7AFRJIjVhNTE5Y2QwY2ZmODkwZmM1YWJlYjZlNWEyMDFhMjQxZGZiNzgxOWM4NGVkMWFmYWMGOwBG--357be410254e21abbe31911571aaf1642637213f
. Host:example.com:3000
. Referer:http://example.com:3000/
. User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36
. **Response Headers**
. Access-Control-Allow-Headers:Origin, X-Requested-With, Content-Type, Accept, Authorization
. Access-Control-Allow-Methods:POST, PUT, DELETE, GET, OPTIONS
. Access-Control-Allow-Origin:*
. Access-Control-Request-Method:*
. Cache-Control:no-cache
. Connection:Keep-Alive
. Content-Length:277
. Content-Type:text/html
. Date:Wed, 12 Feb 2014 01:05:48 GMT
. Location:https://www.facebook.com/dialog/oauth?client_id=773771049316961&redirect_uri=http%3A%2F%2Fexample.com%3A3000%2Fusers%2Fauth%2Ffacebook%2Fcallback&response_type=code&scope=email%2Cuser_birthday%2Cread_stream&state=c280fe4f9c321601ff4f54ef29be5581b8653c09511a3172
. Server:WEBrick/1.3.1 (Ruby/2.1.0/2013-12-25)
. Set-Cookie:_itinerary_session=BAh7CkkiD3Nlc3Npb25faWQGOgZFVEkiJWRlYWJhNTIyZjk5YjllMTQ5OGQyZWJlZGM0NzQwZTQ0BjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMWRnWFQ2U0VlZUFJZndwUnZNSlEyRHNNVXJJeTM5NFZtcWtZWmtQMUwwdGc9BjsARkkiFG9tbmlhdXRoLnBhcmFtcwY7AFR7AEkiFG9tbmlhdXRoLm9yaWdpbgY7AFQiG2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9JIhNvbW5pYXV0aC5zdGF0ZQY7AFRJIjVjMjgwZmU0ZjljMzIxNjAxZmY0ZjU0ZWYyOWJlNTU4MWI4NjUzYzA5NTExYTMxNzIGOwBG--571ea3be82fba073dff520d63622644ab0c75187; path=/; HttpOnly
. X-Request-Id:89a5dc292d8442b4daff8b54e9ba6eb7
. X-Runtime:0.006097
. X-Ua-Compatible:IE=Edge
我尝试将回复发送为
Access-Control-Allow-Origin:*
和
访问控制允许来源:http://example.com:3000
但仍然是同样的错误。
PS:我将localhost更改为example.com,因为stackoverflow不允许提交。