首页 > 解决方案 > 如何在当前页面显示结果?姜戈,阿贾克斯

问题描述

在主页上,我有一个文本框。当我在其中输入文本时,单击按钮后我想在下面显示该文本。

使用 ajax,我得到输入的文本并将其传递给 views.py。

渲染时,我需要的结果显示在/localhost:8000/vk_u/

如何在当前页面(本地主机:8000/)上显示结果?

谢谢

//forms.py
from django import forms
from .models import *

class VK_LINK_Form(forms.Form):
    enter_link = forms.CharField(widget = forms.TextInput(attrs={'id':'link_vk_enter'}))
//urls.py
from django.urls import path, include
from . import views
from django.http import HttpResponse

urlpatterns = [
    path('', views.index, name = 'index'),
    path('vk_u/', views.vk_u, name = 'vk_u'),
]
//js
$(document).on('submit','#vkht_form', function(e){
  e.preventDefault();
  var link_post_input = $(document.getElementById("link_vk_enter")).val()
    $.ajax({
      type: 'POST',
      url: '/vk_u/',
      data:{
        link_post_input: link_post_input,
        csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val()
      },
    });
});
]
//views.py
def vk_u(request):
    link_post_input = request.POST.get('link_post_input')
    return render(request, "mainApp/homePage.html", {"link_post_input": link_post_input,})
<!-- html -->
<body>
  <div>
    <form action="" method="GET" id="vkht_form">
      {% csrf_token %}
      {{ form }}
      text: {{ text_post_input }}
      <input type="submit" value="CLICK">
    </form>
  </div>
</body>

标签: pythondjangoajax

解决方案


推荐阅读