问题描述
jQuery.ajax()
通常发送 X-要求 - 以
头与 XMLHtt prequest
设置为内容。在服务器上(在PHP),我一般通过试验检测这样的:
jQuery.ajax()
normally sends an X-Requested-With
header with XMLHttpRequest
set as the content. On the server (in PHP), I usually detect this by testing:
$ is_ajax = $ _ SERVER ['HTTP_X_REQUESTED_WITH'] ===XMLHtt prequest
在 AngularJS ,常用于 $ routeProvider.when发现()
,你可以从服务器获取一个模板 templateUrl:/路/上/服务器
In AngularJS, commonly found in $routeProvider.when()
, you can obtain a template from the server with templateUrl: '/path/on/server'
.
我的问题是,是 templateUrl
请求似乎的没有的设置 X-请求─随着
头,所以没有办法从任何其他类型的请求区分 templateUrl
的要求。
My problem is that templateUrl
requests seem to not set X-Requested-With
headers, so there's no way to distinguish templateUrl
requests from any other type of request.
有没有什么办法让 $ routeProvider
发送 X-要求 - 以
为 XMLHtt prequest
?
Is there any way to get $routeProvider
to send X-Requested-With
as XMLHttpRequest
?
参考:的
-
$ routeProvider文档 - (搜索
templateUrl
)
jQuery的jqXHR - 看 jqXHR.setRequestHeader(的X请求,并以,XMLHtt prequest)
采用了棱角分明 V1.1.5
通过谷歌CDN
更新:的我找到了<一href="http://gitelephant.cy$p$psslab.net/angular-js/commit/3a75b1124d062f64093a90b26630938558909e8d">actual提交角的地方开发商拆除 X-要求 - 以
从 $ http.get
。不知道为什么他们会怎么做呢?
Update: I found the actual commit where Angular developers removed X-Requested-With
from $http.get
. Wonder why they would do that?
更新:的https://github.com/angular/angular.js/issues/1004 - 讨论去除头,其中
Update: https://github.com/angular/angular.js/issues/1004 - discussion where header was removed.
推荐答案
提示的帽子为 Zerot Freenode的的的
Tip of the hat to Zerot in FreeNode's #angularjs
app.config(['$routeProvider', '$httpProvider', function($routeProvider, $httpProvider) {
$httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
$routeProvider.when('/', {
templateUrl: '/path/on/server',
controller: 'Ctrl'
});
});
编辑:更具体,这是你需要的地方就行:
to be more specific, this is the line you need somewhere:
$ httpProvider.defaults.headers.common ['X-要求,随着'] ='XMLHtt prequest';
这篇关于$ routeProvider:与templateUrl要求的X请求,使用包头的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!