javascript - 如何在 javaScript 中获取 CSRF token 值

标签 javascript jquery csrf wavemaker

我有这样的要求,当我发送请求时,CSRF-token 应该一起发送。我探索了一些 SO 问题,但找不到解决方案。

我已经编写了如下代码来在发送请求时添加 token ,

 var send = XMLHttpRequest.prototype.send,
        token = $('meta[name=csrf-token]').attr('content');
    XMLHttpRequest.prototype.send = function(data) {
        this.setRequestHeader('X-CSRF-Token', "xyz12345");
        //this.setRequestHeader('X-CSRF-Token',getCSRFTokenValue());
        return send.apply(this, arguments);
    }

这工作正常,但现在我需要在函数中添加 CSRF-Token 来代替 xyz12345

我尝试了如下的 ajax 函数。 `

$.ajax({
            type: "POST",
            url: "/test/"
            //data: { CSRF: getCSRFTokenValue()}
        }).done(function (data) {
        var csrfToken = jqXHR.getResponseHeader('X-CSRF-TOKEN');
        if (csrfToken) {
            var cookie = JSON.parse($.cookie('helloween'));
            cookie.csrf = csrfToken;
            $.cookie('helloween', JSON.stringify(cookie));
        }

        $('#helloweenMessage').html(data.message);

    });

但它还没有工作。 所以我的问题是: 如何获取js端的CSRF-Token值?

最佳答案

你需要在新的 Laravel 中执行此操作

var csrf = document.querySelector('meta[name="csrf-token"]').content;
    $.ajax({
        url: 'url',
        type: "POST",
        data: { 'value': value, '_token': csrf },
        success: function (response) {
            console.log('value set');
        }
    });

关于javascript - 如何在 javaScript 中获取 CSRF token 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32493454/

相关文章:

javascript - 以平滑的方式更改文本区域大小

ajax - Symfony CSRF 和 Ajax

JavaScript:我应该使用 ' or "字符来定义字符串吗?

javascript - jQuery确定音频是否已完成播放并在此之后触发功能

jquery - 将数据绑定(bind)到 ListBox 并将列表发布到数据库 mvc5

json - 如何在 Spring Controller 单元测试中访问 CSRF token ?

rest - 我是否需要对/登录端点进行 CSRF 保护?

javascript - Angular js 网格

javascript - 创建一个计算浏览器视口(viewport)尺寸的动画

javascript - jQuery 在 IE 上返回空输入值