繁体   English   中英

无法通过Ajax从前端在Django View中接收数据

[英]Cannot receive data in Django View from frontend through Ajax

我正在尝试将前端的数据发布到Django视图,并在另一个页面内呈现该视图,但是我没有从前端接收任何数据。 任何帮助表示赞赏! 提前致谢。

jQuery:

 <script>
            window.getDisplayConfirmation = function(ele){
                   var row = $(ele).closest('tr');
                   var displayObjectId1 = row.find('td').eq(2).text()
                   console.log(typeof(displayObjectId1))
                   console.log(displayObjectId1)
                   var displayObjectId = parseInt(displayObjectId1)
                   $.ajax({

                     url:'/detailedData/',
                     data: {
                       'displayObjectId': displayObjectId
                            },

                    success: function(){
                        alert('Vote successful!');
                        $("#dataDisplayArea").load("/detailedData/");
                        },
                        });
                    };

        </script>

视图:

def detailedData(request):
    displayObjectId = request.GET.get('displayObjectId')
    displayObjects = TemporaryModel.objects.get(id=displayObjectId)
    return render(request, 'frontend/detailedData.html', {'obj': displayObjects,"receivedObjectId":displayObjectId})

html:这是此html页面中表格的一部分

       <td ><button id = "showButton" class ="btn btn-primary btn-xs" onclick="getDisplayConfirmation(this)"> S </button></td>
      <td ><button id = "deleteButton" class = "btn btn-primary btn-xs" onclick="getDeleteConfirmation(this)"> D</button></td>
      <td >{{ obj.id}}</td>

我在同一HTML页面上也有此部分,以将呈现的页面作为子页面包括在内:

  <div id ="dataDisplayArea">
        {% include 'frontend/detailedData.html' %}
    </div>

网址:

urlpatterns = [
    path('', auth_views.login, {'template_name': 'registration/login.html'}, name='login'),
    path('panelOne/', views.panelOne, name='panelOne'),
    path('panelTwo/', views.panelTwo, name='panelTwo'),
    path('detailedData/', views.detailedData, name='detailedData'),
    path('panelThree/', PanelThreeView.as_view(), name='panelThree'),

]

您的视图正在返回数据。 但是您的Ajax成功函数将忽略该数据,然后将另一个请求发送到不带参数的相同URL。 不要那样做 使用返回的数据。

success: function(data){
    alert('Vote successful!');
    $("#dataDisplayArea").html(data);
},

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM