Приветствую!
Есть такой код, который работает.
$("#header_left_html").load(ajaxurl, {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')});
вызывает файл, а так же передает на сервер, для PHP, значение токена "9bd2c66bfa5ee747fc95d1850380fa10".
В упрощеннорм виде такой код:
<!doctype html>
<html lang="ru" class="no-js">
<head>
<meta name="csrf-token" content="9bd2c66bfa5ee747fc95d1850380fa10">
<script src="/jquery-2.1.4.min.js"></script>
</head>
<body>
<div class="all_cat">
<div id="header_left_html"></div>
</div>
</div>
<script>
//вызывает файл header_left.html
$('.all_cat').mouseover(function(event){
var ajaxurl = HOMESITEURL + '/Index/header_left.html?__token__=' + $('meta[name="csrf-token"]').attr('content');
$("#header_left_html").load(ajaxurl, {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')});
$(this).unbind('mouseover');
});
</script>
</body>
</html>
Так как на сайте много используется load() и везде нужно передавать значение токена, то хочу добавлять значение токена через headers в load() добавив скрипт в <head> и убрав из $("#header_left_html").load(ajaxurl); лишнее:
<!doctype html>
<html lang="ru" class="no-js">
<head>
<meta name="csrf-token" content="9bd2c66bfa5ee747fc95d1850380fa10">
<script src="/jquery-2.1.4.min.js"></script>
<script>
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
</script>
</head>
<body>
<div class="all_cat">
<div id="header_left_html"></div>
</div>
</div>
<script>
//вызывает файл header_left.html
$('.all_cat').mouseover(function(event){
var ajaxurl = HOMESITEURL + '/Index/header_left.html?__token__=' + $('meta[name="csrf-token"]').attr('content');
$("#header_left_html").load(ajaxurl);
$(this).unbind('mouseover');
});
</script>
</body>
</html>
Но так не работает, значение токена не передается на сервер.
Что я делаю не так?
Заранее спасибо за помощь!