具体代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="_xsrf" content="{{.xsrf_token}}" /> <title>Title</title> <script src="/static/js/jquery.min.js"></script> </head> <body> test_xsrf 页面 <form> <input type="button" value="提交" id="btn"> </form> <script> // 对ajax进行扩展 var ajax = $.ajax; $.extend({ ajax: function(url, options) { if (typeof url === 'object') { options = url; url = undefined; } options = options || {}; url = options.url; var xsrftoken = $('meta[name=_xsrf]').attr('content'); var headers = options.headers || {}; var domain = document.domain.replace(/\./ig, '\\.'); if (!/^(http:|https:).*/.test(url) || eval('/^(http:|https:)\\/\\/(.+\\.)*' + domain + '.*/').test(url)) { headers = $.extend(headers, {'X-Xsrftoken':xsrftoken}); } options.headers = headers; return ajax(url, options); } }); // ajax提交部分,和原来使用ajax的方式没有区别 var btn = document.getElementById("btn"); btn.onclick = function (ev) { $.ajax({ url:"/test_do_ajax_xsrf", type:"POST", data:{}, success:function (data) { if(data["code"] == 200){ alert(data["msg"]) } }, error:function (data) { alert(data["message"]) } }) } </script> </body> </html>