Я использую ajax для отправки данных с asp (как фронт) в Django rest api (как бэкэнд). Сначала у меня была проблема с доступом к другому домену, но она была решена с помощью CORS, затем у меня был другой ошибка, связанная с CSRF, и ошибка, описанная выше: Запрещено (CSRF cook ie не установлено.) Я использовал @csrf_exempt для прохождения этой проверки, но я хочу найти решение для его использования без исключения csrf. Я пробовал более одного решения. но это не работает, или, может быть, я не понимаю, как найти решение? ajax В Ошибка 403, '' '
JQuery sends " xhr.send( options.hasContent && options.data || null );
' ''
i ' Я включу код моего .cs html файла ниже
'' '
form id="std_form" class="mx-auto form-horizontal" method="POST" asp-antiforgery="false">
@Html.AntiForgeryToken()
<div class="box-body">
<div class=" form-group">
<label for="inputEmail3" class="col-sm-3">ID</label>
<div class="col-md-8">
<input type="number" id="first">
</div>
</div>
<div class=" form-group">
<label for="inputEmail3" class="col-sm-3">ID</label>
<div class="col-md-8">
<input type="number" id="second">
</div>
</div>
<div class=" form-group">
<label for="inputEmail3" class="col-sm-3">ID</label>
<div class="col-md-8">
<input type="number" id="third">
</div>
</div>
</div>
<!-- /.box-body -->
<div class="box-footer d-flex">
<button type="submit" id="save_btn" class="btn-success btn">Save</button>
</div>
<!-- /.box-footer -->
</form>
</div>
' ''
'' '
window.CSRF_TOKEN = "{% csrf_token %}";
function getCookie(c_name) {
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + "=");
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexOf(";", c_start);
if (c_end == -1) c_end = document.cookie.length;
return unescape(document.cookie.substring(c_start, c_end));
}
}
return "";
}
'' '
и это ajax запрос
' ''
$(document).on('submit', '#std_form', function (e) {
e.preventDefault();
let val1 = parseInt($('#first').val());
let val2 = parseInt($('#second').val());
let val3 = parseInt($('#third').val());
let x={val1,val2,val3};
$.ajax({
type: 'POST',
url: ('http://127.0.0.1:8000/Callfun/processdata/'),
data:{
First: val1,
Second:val2,
Third:val3,
csrfmiddlewaretoken: window.CSRF_TOKEN,
},
success: function (context) {
alert("Wooooooooowwwww");
$('#first').val(context.Max);
$('#second').val(context.Min);
$('#third').val(context.Avg);
},
error: function (context) {
alert("So Bad");
}
})
})
'' '