Angular 将X-XSRF-TOKEN
标头设置为XSRF-TOKEN
cookie 的值:
var xsrfValue = isSameDomain(config.url, $browser.url())
? $browser.cookies()[config.xsrfCookieName || defaults.xsrfCookieName]
: undefined;
if (xsrfValue) {
headers[(config.xsrfHeaderName || defaults.xsrfHeaderName)] = xsrfValue;
}
但是,如果使用(例如,用于 Rails 集成)设置XSRF-TOKEN
cookie :$cookieStore
$cookieStore.put("XSRF-TOKEN", "my_token");
put: function(key, value) {
$cookies[key] = angular.toJson(value);
}
这意味着标题将有额外的双引号:
X-XSRF-TOKEN "my_token"
为什么 Angular 在设置标头的值时不调用fromJson()
,以便标头看起来像这样:
X-XSRF-TOKEN my_token
?
这将使我们免于删除服务器端的额外双引号。
我在这里遗漏了一些明显的东西吗?
注意:我不是在寻找解决方法。我试图了解这种行为是否是预期的行为,如果是,理由是什么?