javascript - angularjs的$http请求400错误

 大约在冬季1122_867 发布于 2022-11-08 16:19

经过对比angularjs的$http和JQ的ajax请求头,发现$http缺少了X-Requested-With和X-CSRF-Token,但是ajax是怎么获取X-CSRF-Token的,谁能告诉我!!!

2 个回答
  • mainApp.config(['$httpProvider', function($httpProvider) {
            $httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
            $httpProvider.defaults.headers.common['X-CSRF-Token'] = $('meta[name="csrf-token"]').attr("content");
        }]);

    这样算是一种解决方案了

    2022-11-12 10:59 回答
  • 流程大概如此:

    1. 表单需要CSRF Token的时候,先请求获取 Token 值。

    2. 把值当成表单中的一个隐藏字段一并发送,或者放在 Header中。

    但最简单的办法是把CSRF Token写入到Cookie中,即:

    1. 表单需要CSRF Token的时候,先请求获取 Token 值,由后端将值写入Cookie中。

    如果你不希望是Cookie,比如 localStorage 的话,可以这样:

    app.config([
      "$httpProvider", function($httpProvider) {
        $httpProvider.defaults.headers.common['X-CSRF-Token'] = localStoorage['csrf-token'];
      }
    ]);
    2022-11-12 10:59 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有