我正在使用 angular - >尝试oauth到twitter 节点 - > twitter ,但在向混音添加角度时,我一直收到错误No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access
。我的应用配置..
使用调用呼叫快速路由的快速模板可以正常工作,如下所示
模板 - >本地主机:3000 / AUTH /微博
Response Headers
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:http://localhost:4200
Location:https://api.twitter.com/oauth/authenticate?oauth_token=placeholdertokenstackoverflow
Vary:Origin
Request Headers
Host:localhost:3000
Referer:http://localhost:3000/
localhost:3000 / auth / twitter - > //api.twitter.com/oauth /...
GENERAL
Request URL:https://api.twitter.com/oauth/authenticate?oauth_token=placeholdertokenstackoverflow
Request Method:GET
Status Code:200
Request Headers
:authority:api.twitter.com
:method:GET
:scheme:https
referer:http://localhost:3000/
当使用angular来调用express路由而不是模板时,我认为是一个CORS错误,如下所示
angular.http.get - >本地主机:3000 / AUTH /微博
RESPONSE HEADERS
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:http://localhost:4200
Location:https://api.twitter.com/oauth/authenticate?oauth_token=placeholdertokenstackoverflow
Vary:Origin
REQUEST HEADERS
Host:localhost:3000
Origin:http://localhost:4200
Referer:http://localhost:4200/
localhost:3000 / auth / twitter - > //api.twitter.com/oauth /...
GENERAL
Request URL:https://api.twitter.com/oauth/authenticate?oauth_token=placeholdertokenstackoverflow
Request Method:GET
Status Code:200
REQUEST HEADERS
:authority:api.twitter.com
:method:GET
:scheme:https
***origin:null
referer:http://localhost:4200/***
当角度调用快速路线时,会出现上面的origin:null
。即使Express服务器在两个实例中都设置相同并调用twitter,但标题是不同的,我不明白。角度设置视图而不是表达会使浏览器对请求的来源感到困惑吗?
答案 0 :(得分:1)
修改节点服务器以添加标头Access-Control-Allow-Origin:*以从任何地方启用跨源请求(或指定域而不是*)。这应该可以解决您的问题。 以下是我解决问题的方法:
<div><p style="color: red" data-bind="validationMessage: personal().postal"></p></div>