Я пытаюсь сохранить токен в глобальной переменной. Когда оповещение запускается, оно говорит о нуле, но если я ставлю 2 оповещения одно за другим, первое показывает ноль, а второе показывает токен.
Это похоже на то, что токен не установлен, потому что 1-е предупреждение запускается до того, как запрос ajax завершится.
У кого-нибудь есть идеи о том, что я делаю неправильно?
var csrf_token = null;
$(document).ready(function(){
get_csrf_token();
alert('token 1 '+csrf_token);
alert('token 2 '+csrf_token);
});
function get_csrf_token()
{
$.ajax({
type: "GET",
url: "http://buscore/index.php/includes/csrf_token/",
dataType: "json",
success: function(resp, status) {
if (resp.status != 'success')
{
alert('Error - Update CSRF Token\n\n' + resp.status);
return;
}
csrf_token = resp.csrf_token;
}
});
}
Спасибо
ОБНОВЛЕНО
Хорошо, спасибо за вашу помощь всем, но до сих пор не понимаю, как это будет работать. Я использую get_csrf_token () как jqgrid для отправки токена с запросом, как показано ниже. Так как мне передать токен и заставить его работать?
beforeRequest: function (){
get_csrf_token()
//alert(csrf_token);
$("#customer_grid").setPostDataItem('<?php echo $csrf_token_name; ?>', csrf_token);
}