加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax – $routeProvider:使用X-Requested-With标头的templateUr

发布时间:2020-12-16 03:12:55 所属栏目:百科 来源:网络整理
导读:jQuery.ajax()通常会发送一个X-Requested-With标头,并将 XMLHttpRequest设置为内容.在服务器( PHP)中,我通常通过测试来检测: $is_ajax = $_SERVER [‘HTTP_X_REQUESTED_WITH’] ===’XMLHttpRequest’ 在AngularJS中,通常在$routeProvider.when()中找到,您
jQuery.ajax()通常会发送一个X-Requested-With标头,并将 XMLHttpRequest设置为内容.在服务器( PHP)中,我通常通过测试来检测:

$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 – 头删除的讨论.

FreeNode的 #angularjs中Zerot的帽子提示
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’;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读