- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个tile-standard jsp,它包含在我的应用程序的所有页面中。我试图在应用程序的所有 Ajax 请求中注入(inject)一些安全 token ,为此我将以下代码片段写入此 JSP 的 head 元素中。问题是,在大多数情况下,ajax 调用会按预期被拦截,并将 token 注入(inject)到数据中。但在某些情况下,beforesend 方法不会被调用,因此请求中不存在 token 。我不确定为什么有些 Ajax 调用没有被拦截,而另一些则被拦截。下面是代码片段:
$(document).ready(function() {
$.ajaxSetup({
beforeSend: function(xhr, settings) {
var controlId = "<c:out value='${XXXControlIDXXX}' />";
// Injecting CSRF token id into data
if(controlId!=null) {
var csrfData = {
XXXControlIDXXX : controlId
}
settings.data += "&" + $.param(csrfData);
}
}
});
});
最佳答案
我发现了这个问题。非常感谢 Rory McCrossan 的投入,引导我走向正确的方向。因此,ajax 调用是在 ajaxsetup 之前发生的,因此我无法设置 token 。我使用了下面的代码片段,它不依赖于任何文档事件,只是位于页面上并在所有 ajax 调用上触发。
$.ajaxPrefilter(function(options, originalOptions, jqXHR) {
var controlId = "<c:out value='${ControlID}' />";
if(controlId) {
var csrfData = {
ControlID : controlId
}
options.data + = "&" + $.param(csrfData);
}
});
关于javascript - Ajax beforesend 方法在某些情况下不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45585821/
为了解决 CSRF 问题,我使用 Ajax 客户端设置: $.ajaxSetup({ beforeSend: function(xhr, settings) { functio
我有几个调用 Ajax 函数的按钮(提交联系表单、提交新闻通讯、检查用户是否有效/已注册、检查用户状态等...) 每次有人单击按钮时,我都会使用 ajaxSetup 显示一个加载对话框,以告诉他等待。
登录远程 aPI 服务器并获取 access_token 后,我尝试为所有后续 ajax 调用设置授权 header : .done(function (result) {
我正在使用 ASP.Net MVC 和 jQuery 1.8.2 我有一个带有按钮的表单,单击该按钮时会调用此 javascript: $(function () { $('#SearchBu
我有一个带有刷新 token 的 jwt 身份验证系统。每 5 分钟客户端浏览器必须请求一个新的 accessToken,其中的刷新 token 保存在 localStorage 中。 为此,我在每个
所以我们在发送之前有这个ajax选项 $.ajax({ beforeSend: function(){ // to do } }); 有没有办法在全局范围内覆盖这个? 例如,我
我有一个tile-standard jsp,它包含在我的应用程序的所有页面中。我试图在应用程序的所有 Ajax 请求中注入(inject)一些安全 token ,为此我将以下代码片段写入此 JSP 的
我有一个表单可以将一个小文本文件发送到服务器,并使用 PHP 处理数据。结果显示在颜色框中。它工作正常,但我想在上传和处理数据时向用户显示一条小消息(这需要几秒钟),并在显示结果后再次隐藏它。但由于某
我正在执行以下 ajax 调用: def myfunction(var1, var2){ b1. $.ajax({ url: 'some_url2', type: "P
这个问题已经有答案了: $(this) inside of AJAX success not working (2 个回答) 已关闭10 年前。 我很困惑为什么这段代码不起作用: HTML: Fakt
$('.item').click(function(){ myFunc(); }); function myFunc(){ $.ajax({ success: function (data) { //
我有这个 jQuery ajax 调用: $.ajax({ url : 'my_action', dataType: 'script', beforeSend : functi
我试图从 beforeSend 函数中的数据数组中获取一个值,但是当我尝试在控制台中显示它时,我看到的只是undefined。 我尝试打印 $(this) 变量,它也返回 undefined。 $("
我正在尝试使用 wordpress 来停止 Jquery 发送的 ajax 请求,并使用一些附加数据重新提交它。 其工作原理如下: 用户单击提交按钮。 Wordpress提交ajax请求 我使用 .a
我正在尝试将“开始时”处理程序附加到 AJAX 调用,但我得到了 类型错误:request.beforeSend 不是一个函数 据我在 JQuery docs site 上读到的内容,以下应该可以工作
有人对 jQuery AJAX 和 beforeSend 属性有过同样的经历吗?有什么建议可以解决这个问题吗? 我正在做的是在我想通过 AJAX 将新数据发送到数据库之前使用 AJAX 调用从数据库中
我有一个显示 JSON 响应的 AJAX 进程。如果我禁用 CSRF 保护,该过程就会起作用。我收到 HTTP 200 并收到 JSON 响应。 以下是工作形式: $(document).ready(
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
好的,正在努力获取放大解码器。奇怪的问题。如果我的请求附加了 beforeSend,则解码器不会触发。删除 beforeSend 并触发解码器。 这是两个示例。 没有 beforeSend。 http
在 jQuery 中,当某些东西正在加载时我可以这样做: $.ajax({ url: "/answer_checker.php", global: false, type: "POST",
我是一名优秀的程序员,十分优秀!