$is_ajax = $_SERVER [‘HTTP_X_REQUESTED_WITH’] ===’XMLHttpRequest’
在AngularJS中,通常在$routeProvider.when()中找到,您可以使用templateUrl:’/ path / on / server’从服务器获取模板.
我的问题是,templateUrl请求似乎没有设置X-Requested-With头,所以没有办法区分templateUrl请求与任何其他类型的请求.
有没有办法让$routeProvider发送X-Requested-With作为XMLHttpRequest?
参考:
> $routeProvider Docs – (搜索templateUrl)
> jQuery jqXHR – 参见jqXHR.setRequestHeader(“X-Requested-With”,“XMLHttpRequest”)
>使用Angular v1.1.5通过Google CDN
>更新:我发现actual commit Angular开发人员从$http.get中删除了X-Requested-With.想知道为什么他们会这样做?
>更新:https://github.com/angular/angular.js/issues/1004 – 头删除的讨论.
app.config(['$routeProvider','$httpProvider',function($routeProvider,$httpProvider) { $httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; $routeProvider.when('/',{ templateUrl: '/path/on/server',controller: 'Ctrl' }); });
编辑:更具体来说,这是你需要的一行:
$httpProvider.defaults.headers.common [‘X-Requested-With’] =’XMLHttpRequest’;
原文地址:https://www.jb51.cc/ajax/160049.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。