在博客文章中,我使用以下PHP来设置响应的内容类型:
header('content-type: application/json; charset=utf-8');
Run Code Online (Sandbox Code Playgroud)
我刚刚对该帖子发表评论说content-type需要大写,Content-type.它是否正确?它似乎适用于所有小写的我,我假设HTTP标题不区分大小写.或者它只是工作,因为浏览器很好?
如果protect_from_forgery在application_controller中提到了该选项,那么我可以登录并执行任何GET请求,但是在第一次POST请求时,Rails会重置会话,这会导致我退出.
我protect_from_forgery暂时关闭了该选项,但想将它与Angular.js一起使用.有办法做到这一点吗?
使用Angular和Node.js/Express,是否有办法防止直接访问我的部分.html文件,同时仍然允许以下路由处理:
我的Angular路线如下所示:
$stateProvider.state('albums', {
url: '/albums',
templateUrl: '/public/albums',
controller: 'AlbumsCtrl'
});
Run Code Online (Sandbox Code Playgroud)
然后我的快递应用程序执行以下操作
app.get('/public/albums', function(req, res){
res.sendfile('views/partials/albums.html');
});
Run Code Online (Sandbox Code Playgroud)
这一切都正常,但输入"mysite.com/public/albums"可以访问部分.html文件.仍然没有任何东西可以看,因为内容是单独加载的,用户需要为此登录,但我仍然希望以某种方式阻止访问此文件.
我正在尝试使用拦截器使用以下代码为AngularJS App中的每个请求添加自定义标头:
angular.module('app').factory('httpRequestInterceptor', function () {
return {
request: function (config) {
config.headers['testheader'] = 'testheaderworks';
return config;
}
};
});
angular.module('app').config(function ($httpProvider) {
$httpProvider.interceptors.push('httpRequestInterceptor');
});
Run Code Online (Sandbox Code Playgroud)
此代码是从这个问题的答案中复制而来的
不幸的是,当我检查结果请求时,我得到以下内容:
显示临时标题
Access-Control-Request-Headers:accept,testheader
访问控制请求-方法:GET
User-Agent:Mozilla/5.0(Windows NT 6.1; WOW64)AppleWebKit/537.36(KHTML,与Gecko一样)Chrome/46.0.2490.86 Safari/537.36
我在Chrome的网络标签和服务器端都确认了这一点.为什么自定义标题键'testheader'被添加到Access-Control-Request-Headers而不是一般标题?价值发生了什么变化?是否有另一种方法可以为每个AngularJS请求添加自定义标头以避免此问题?
我有一个ASP.NET MVC5单页Web应用程序,它使用angularjs对ASP.NET Web API 2应用程序进行ajax调用,所有这些都在Chrome开发人员工具Network选项卡中可见.但是,Glimpse不捕获ajax调用,既不在HUD中,也不在Ajax选项卡中.我已经添加application/json了web.config中的一瞥内容类型.我还在X-Requested-With我的angularjs ajax调用中添加了标题:
$httpProvider.defaults.headers.common = { 'X-Requested-With': 'XMLHttpRequest' };
Run Code Online (Sandbox Code Playgroud)
然而,HUD一直显示0个ajax请求,而Ajax选项卡中没有任何内容.还有什么我应该做的吗?我该如何解决这个问题?
angularjs ×4
ajax ×1
csrf ×1
express ×1
glimpse ×1
http ×1
http-headers ×1
javascript ×1
node.js ×1
routing ×1