【发布时间】:2017-09-06 22:20:28
【问题描述】:
道场 v1.6.0。 有没有办法为 dojo.rpc.JsonService() 的所有实例的每个调用设置自定义标头(在我的情况下为 spring csrf 保护)?
或者至少每次调用 dojo.rpc.JsonService() 的特定实例?
问题在于后端 Spring 4 csrf 保护,它过滤请求中没有特定标头的所有内容并返回 HTTP 403 Forbidden 状态。
目前我的代码如下所示:
...
dojo.require("dojo.rpc.RpcService");
dojo.require("dojo.rpc.JsonService");
var myService = new dojo.rpc.JsonService("someMyService");
var result = myService.myRemoteMethod(param1, param2, ... );
...
例如,处理每个 ajax 请求并为其设置标头的 jQuery 代码如下所示:
var token = $("meta[name='_csrf']").attr("content");
var header = $("meta[name='_csrf_header']").attr("content");
$(document).ajaxSend(function (e, xhr, options) {
xhr.setRequestHeader(header, token);
});
为道场制作这样的东西是完美的。
【问题讨论】:
标签: javascript spring dojo