我正在做一个Ajax POST请求来获取新闻文章。我在报头中放了一个csrftoken,但我仍然得到一个403错误。我在网上看过,并尝试了许多解决方案,但我一直得到403错误。为什么会这样?
$('#search-articles').on('submit', function(event) {
event.preventDefault();
document.getElementById("loading").style.display = "block";
document.getElementById("search-bar").style.display = "none";
document.getElementById("articles").style.display = "none";
function getCookie(name) {
var cookieValue = null;
if (document.cookie && document.cookie !== '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) === (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
$.ajax({
url: "{% url 'stocks_sites:get_news_articles' %}",
type: "POST",
data: {
"q": document.getElementById("search-articles").value,
csrfmiddlewaretoken:$("input[name=csrfmiddlewaretoken]").val()
},
headers: {
"X-CSRFToken": getCookie("csrftoken"), // don't forget to include the 'getCookie' function
},
success: function(response) {
document.getElementById("loading").style.display = "none";
document.getElementById("search-bar").style.display = "block";
document.getElementById("articles").style.display = "block";
$("#search-bar").html(response[0]);
$("#articles").html(response[1]);
}
})
})
try
$.ajax({
url: "{% url 'stocks_sites:get_news_articles' %}",
type: "POST",
data: {
'csrfmiddlewaretoken': document.csrftoken,
},
success: function(response) {
document.getElementById("loading").style.display = "none";
document.getElementById("search-bar").style.display = "block";
document.getElementById("articles").style.display = "block";
$("#search-bar").html(response[0]);
$("#articles").html(response[1]);
}
})
})