В функции Javascript мне нужны данные из базы данных.
Что я должен использовать XMLHttpRequest
или fetch()
или Ajax
*?
Я попробовал первый, но где-тоЯ прочитал старый и fetch()
должен быть предпочтительным.Это правда?
Я новичок, в любом случае мой file.js
:
function FilterBy(selezione) {
...
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState === 4 && this.status === 200) {
document.getElementById("test").innerHTML = this.responseText;
}
};
//xhttp.open("GET", "lists/getlistname/?m="+maschio+"&f="femmina+"&n="neutro+"&l="linguaggio+"&i="initial", true);
//xhttp.open("GET", "/lists/getlistname/?maschio=True", true);
xhttp.open("GET", "/lists/getlistname/", true);
//xhttp.send("m="+maschio+"&f="+femmina+"&n="neutro+"&l="linguaggio+"&i="initial");
xhttp.send("maschio=True&femmina=False&neutro=False&linguaggio=romano&initial=a");
}
Я сделал некоторые предварительные, но параметры не приходят на мой взгляд.Также я могу использовать стиль url django, например lists:getlistname
?
здесь мой url.py
:
urlpatterns = [
...
path('getlistname/', views.getlistname, name='getlistname'),
]
мой views.py
:
def getlistname(request, maschio=True, femmina=True, neutro=True,
linguaggio='tutti', initial='0'):
...
return HttpResponse('hi')
Так, что происходит?вызывается представление getlistname
, но параметры не передаются (используется значение по умолчанию).
* Примечание: для использования Ajax я имею в виду что-то вроде этого:
$.ajax({type: 'GET',
url: '/lists/getnamelist/',
data: {
maschio: True,
femmina: True
...
},
success: function () {
...
}
});
Редактировать:наконец я использовал $ .ajax (), потому что для того, что я прочитал, он менее эффективен, но чище