Не удается получить данные в Django View с внешнего интерфейса через Ajax - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь опубликовать данные из внешнего интерфейса в представление 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>

urls:

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'),

]

1 Ответ

0 голосов
/ 12 июня 2018

Ваше мнение возвращает данные.Но ваша функция успеха Ajax игнорирует эти данные, а затем отправляет еще один запрос на тот же URL без параметров.Не делай этого.Используйте возвращаемые данные.

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