【问题标题】:Refresh Div elements withoud reload Page using Ajax and DJango使用 Ajax 和 DJango 刷新 Div 元素而不重新加载页面
【发布时间】:2017-08-14 18:59:06
【问题描述】:

我在网站上阅读了许多关于无需重新加载页面即可刷新元素的帖子,但我无法解决我的问题。我有一个名为“操作”的视图,我需要每 5 秒刷新一次这些页面。然后,我创建了另一个名为“刷新”的视图来更新我的数据。

但是当我打开页面时它返回错误 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})

操作.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。

标签: python ajax django


【解决方案1】:

在不了解更多信息的情况下,我猜测您收到了 404,因为您在 $.ajax() 调用中将 URL 硬编码为“刷新”,这显然是无效的。

【讨论】:

    【解决方案2】:

    我发现了我的错误。我忘记在我的 urls.py 中添加一行:

    url(r'^refresh/',views.refresh,name='refresh')
    

    这解决了我的问题。 谢谢!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-15
      • 1970-01-01
      • 1970-01-01
      • 2017-02-04
      • 1970-01-01
      • 1970-01-01
      • 2014-09-06
      相关资源
      最近更新 更多