Я прочитал много сообщений на сайте об обновлении элементов без перезагрузки страницы, но я не могу исправить свою проблему. У меня есть вид, называемый "операция", и мне нужно обновить эту страницу каждые 5 секунд. Затем я создал другое представление под названием 'refresh' для обновления моих данных.
Но он возвращает ошибку 404, когда я открываю страницу. Как я могу исправить проблему? 'POST/операция/обновление HTTP/1.1 404 2317'
views.py
def main(request):
dp_col = DataDisplay.objects.all()
#print(dp_col[0].name)
reg = Registers.objects.latest('pk')
context = {
'dp_col': dp_col,
'reg':reg
}
return render(request,'operation.html',context)
def refresh(request):
if request.is_ajax():
reg = Registers.objects.latest('pk')
print(reg)
#return render(request,'operation.html',{'reg':reg})
return HttpResponse({'reg':reg})
operation.js
function refresh_function(){
$.ajax({
type: 'POST',
url: 'refresh',
success: function(data){
//atualizar os dados da página
alert(data);
}
})
}
$(document).ready(function(){
$('#sp_pumpspeed').slider({
formatter: function(value){
return 'Current value: ' + value;
}}),
setInterval(refresh_function,1000);
});
Я нашел свою ошибку. Я забыл добавить строку в свой urls.py:
url(r'^refresh/',views.refresh,name='refresh')
Это решит мою проблему. Спасибо!
Не зная больше, я предполагаю, что вы получаете 404, поскольку у вас есть жестко закодированный URL-адрес как "refresh" в вызове $.ajax(), который явно недействителен.