大佬教程收集整理的这篇文章主要介绍了Angularjs / sailsjs:Access-Control-Allow-Headers不允许使用Access-Control-Allow-Origin,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试修复错误:XMLhttprequest无法加载http://localhost:1337/en/auth/forgetpass/email.请求标头字段Access-Control-Allow-Origin不允许Access-Control-Allow-Origin.
当我不激活我的拦截器时它运作良好.我没有这个错误.当我激活它时,我有错误.
//Enable cross domain calls $httpProvider.defaultS.UseXDomain = true; delete $httpProvider.defaults.headers.common['X-requested-With']; $httpProvider.defaults.headers.common['Access-Control-Allow-Headers'] = '*'; $httpProvider.defaults.headers.common['Access-Control-Allow-Origin'] = '*'; $httpProvider.defaults.headers.common['Access-Control-Allow-Methods'] = 'GET,POST,PUT,HEAD,deletE,OPTIONS'; $httpProvider.interceptors.push('TokenInterceptor');
return { request: function (config) { var id = Session.getprop('id'); if(id) { config.headers = config.headers || {}; config.headers.Authorization = 'Bearer ' + id; } return config; },...
最后,chrome网络标签的结果是:
Remote Address:127.0.0.1:1337 request URL:http://localhost:1337/en/auth/forgetpass/email request Method:OPTIONS Status Code:200 OK Response Headers Access-Control-Allow-Credentials:true Access-Control-Allow-Headers:* Access-Control-Allow-Methods:GET,OPTIONS,HEAD Access-Control-Allow-Origin:* Allow:GET,TRACE,COPY,LOCK,MKCOL,MOVE,PROPFIND,PROPPATCH,UNLOCK,REPORT,MKACTIVITY,checKOUT,MERGE,M-SEARCH,NOTIFY,SUBSCRIBE,UNSUBSCRIBE,PATCH Connection:keep-alive Content-Length:154 Content-Type:text/html; charset=utf-8 Date:Sun,12 Apr 2015 23:51:14 GMT Set-Cookie:sails.sid=s%3A-bZxQgFntbDqTtaFyWDFFgFr.szR0F68VfIBjVW9kyans9d6v5fz7RMtalQCoMFdbH%2Fg; Path=/; httpOnly X-Powered-By:Sails <sailsjs.org> request Headers Accept:*/* Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en;q=0.8 Access-Control-request-Headers:access-control-allow-origin,accept,access-control-allow-headers,access-control-allow-methods Access-Control-request-Method:POST Connection:keep-alive Host:localhost:1337 Origin:http://localhost:9000 Referer:http://localhost:9000/ User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/41.0.2272.118 Safari/537.36
非常感谢!
我将响应和请求标头与拦截器及其进行了比较.
我改变我的代码如下,它的工作原理.
在angularjs的app.js中
//Enable cross domain calls /* $httpProvider.defaultS.UseXDomain = true; //Remove the header used to identify ajax call that would prevent CORS from working delete $httpProvider.defaults.headers.common['X-requested-With']; $httpProvider.defaults.headers.common['Access-Control-Allow-Headers'] = 'origin,content-type,accept'; $httpProvider.defaults.headers.common['Access-Control-Allow-Origin'] = '*'; $httpProvider.defaults.headers.common['Access-Control-Allow-Methods'] = 'GET,OPTIONS';*/ $httpProvider.interceptors.push('TokenInterceptor');
在我的sails.js cors setup config中我评论了方法和标题.它运作良好.
@H_220_7@module.exports.cors = { /*************************************************************************** * * * Allow CORS on all routes by default? If not,you must enable CORS on a * * per-route basis by either adding a "cors" configuration object to the * * route config,or setTing "cors:true" in the route config to use the * * default setTings below. * * * ***************************************************************************/ allRoutes: true,/*************************************************************************** * * * Which domains which are allowed CORS access? This can be a * * comma-delimited list of hosts (beginning with http:// or https://) or * * "*" to allow all domains CORS access. * * * ***************************************************************************/ origin: '*',/*************************************************************************** * * * Allow cookies to be shared for CORS requests? * * * ***************************************************************************/ credentials: true /*************************************************************************** * * * Which methods should be allowed for CORS requests? This is only used in * * response to preflight requests (see article linked above for more info) * * * ***************************************************************************/ // methods: 'GET,HEAD',/*************************************************************************** * * * Which headers should be allowed for CORS requests? This is only used in * * response to preflight requests. * * * ***************************************************************************/ // headers: 'origin,accept' };以上是大佬教程为你收集整理的Angularjs / sailsjs:Access-Control-Allow-Headers不允许使用Access-Control-Allow-Origin全部内容,希望文章能够帮你解决Angularjs / sailsjs:Access-Control-Allow-Headers不允许使用Access-Control-Allow-Origin所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。