Задать вопрос
losaped
@losaped
Пьяный самурай

Как отправить ajax post c csrf?

Вот код, прошу выдать мне города:
if ($('select').is('#city')){
		$.post('/city/index', {_csrf: 'USER_CSRF_TOKEN'})
		.done(function(resp){
			$('#city').empty();

			_each(resp.cities, city)
			{
				$('#city').append($('<option value="' + city.id + '"> city.name</option>'));
			}	
		})
		.fail(function() {
			alert("error");
		});
	}

вот эта строчка 1 к 1 из документации, если не считать пути:
$.post('/city/index', {_csrf: 'USER_CSRF_TOKEN'})
не работает, получаю 403
может вместо строки USER_CSRF_TOKEN я должен использовать какое то конкретное значение, а это так, описательный термин?
  • Вопрос задан
  • 154 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    1С-программист
    10 месяцев
    Далее
  • Skillbox
    Профессия 1C-разработчик
    8 месяцев
    Далее
  • Hi-TECH Academy
    KL 004.2.4 Kaspersky SD-WAN
    2 дня
    Далее
Решения вопроса 1
losaped
@losaped Автор вопроса
Пьяный самурай
справился. в моем случае решение вот такое:
var csrf;
	$.get('/csrfToken').done(function (resp) {
		csrf = resp._csrf;
	});

	setTimeout(function(){
		if ($('select').is('#city')){
			console.log(csrf);
			$.post('/city/index', {_csrf: csrf })
			.done(function(resp){
				$('#city').empty();
				console.log(resp.cities);

				$.each(resp.cities, function(i, city){
					$('#city').append('<option value="' + city.id + '"> ' +city.name + '</option>');
				});	
			})
			.fail(function() {
				alert("error");
			});
		}
		}, 0	
	);


только как то все это криво выглядит. Если кому не лень, то напишите как это сделать красивее
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы