Я пытался работать и понимать ajax, не полагаясь на jquery в учебных целях.
Я отправляю данные, полученные из текстового поля.
Вот мой ajax
document.addEventListener('DOMContentLoaded', function() {
document.getElementById('id_tags').onkeyup = () => {
// initialize new request
const request = new XMLHttpRequest();
request.open("POST", "{% url 'tag_suggestions' %}");
var keyword = document.getElementById('id_tags').value;
data = {"keyword": keyword};
//when request is finished
request.onload = () => {
console.log("Test");
}
//send request
request.setRequestHeader("X-CSRFToken", '{{csrf_token}}');
request.send(JSON.stringify(data));
};
});
Вот функция django, которая прослушивает мои ajax запросы
def tag_suggestions(request):
print('inside tag_suggestions ')
if request.method == 'POST':
print(request.POST.keys())
return ('Test')
else:
print('not ajax Test')
return HttpResponse('Test')
Я проверил свой javascript код это просто отлично. Он слушает события, получил значение правильно.
Но в моем django, когда он выполняет request.POST.keys()
, вывод будет
dict_keys([])
, и я пришел к выводу, что я не получаю данные из моего ajax запроса ,