javascript - 在 Ajax 调用中调用辅助方法

标签 javascript jquery ajax

我有以下 AJAX 调用:

   $.ajaxSetup({
      csrfSafeMethod: function(method) {
        // these HTTP methods do not require CSRF protection
        return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
      },

      beforeSend: function(xhr, settings) {
          if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
              xhr.setRequestHeader("X-CSRFToken", csrftoken);
          }
      }
    });

我得到:

csrfSafeMethod is not defined

为什么从 beforeSend 内部看不到 csrfSafeMethod

我该如何解决这个问题?

最佳答案

你不能像这样定义一个常规函数吗:

function csrfSafeMethod(method) {
    // these HTTP methods do not require CSRF protection
    return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
}

$.ajaxSetup({
  beforeSend: function(xhr, settings) {
      if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
          xhr.setRequestHeader("X-CSRFToken", csrftoken);
      }
  }
});

关于javascript - 在 Ajax 调用中调用辅助方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36633562/

相关文章:

javascript - Ajax header 请求 "X-openIDM-Reauth-Password"不起作用

php - Uncaught Error : Class 'WP_Query' not found in url - Wordpress

javascript - 替换 Javascript 正则表达式中不被单引号包围的双引号

jquery - 图像裁剪方法不显示 "submit"

javascript - 我想要 jquery 可拖动脚本来记住位置

javascript - 将鼠标悬停在图像上无法使用 Javascript/JQuery

javascript - 解析json并写入文件

Javascript 倒计时在指定的日期和时间显示/隐藏

javascript - 有没有简单的方法从页面上的 td 元素获取数组? (node.js/cheerio/jQuery)

php - 提交时停止 ajax jquery 加载