Javascript 在Django中将不同的URL参数传递给AJAX函数

Javascript 在Django中将不同的URL参数传递给AJAX函数,javascript,html,django,ajax,Javascript,Html,Django,Ajax,如何将不同的URL名称传递给javascript函数。下面是我的HTML和Javascript代码 {% for profile, g_name in group_list %} <li class="contact"> <div class="wrap"> <img src="{{profile}}" alt="No image" /&g

如何将不同的URL名称传递给javascript函数。下面是我的HTML和Javascript代码

{% for profile, g_name in group_list %}
    <li class="contact">
        <div class="wrap">
            <img src="{{profile}}" alt="No image" />
            <div class="meta">
                <input type="hidden" id="myGroup" name="myGroup" value="{{g_name}}">
                <button onclick="GetMessages()">
                    <p class="name">{{g_name}}</p>
                </button>
            </div>
        </div>
    </li>
{% endfor %}

<script>
    function GetMessages() {
      var myGroup = document.getElementById('myGroup').value;
      $('.ajaxProgress').show();
      $.ajax({
          type: "GET",
          url: "/getmsgs/"+myGroup,
          success: function(response){
              $("#display").empty();
                ...
          },
          error: function(response){
              alert("No Data Found");
          }
      });
  }
</script>
{%用于配置文件,g_名称在组_列表%}
  • {{g_name}

  • {%endfor%} 函数GetMessages(){ var myGroup=document.getElementById('myGroup')。值; $('.ajaxProgress').show(); $.ajax({ 键入:“获取”, url:“/getmsgs/”+myGroup, 成功:功能(响应){ $(“#显示”).empty(); ... }, 错误:函数(响应){ 警报(“未找到数据”); } }); }
    这是我的网址

    path('getmsgs/<str:word>/', views.groupmsgs_ajax, name='groupmsgs_ajax'),
    
    path('getmsgs/',views.groupmsgs\u ajax,name='groupmsgs\u ajax'),
    
    当我尝试上述方法时,我得到了第一个“myGroup”id值。默认情况下,它将传递第一个组名。 我不能叫其他组名


    感谢您提供的帮助,因为所有输入元素都具有相同的id
    myGroup
    so
    document.getElementById('myGroup')。value
    始终获取第一个元素值

    鉴于
    g_id
    存在并且是一个字符串,以下代码更改应该可以解决此问题

    {% for profile, g_name, g_id in group_list %}
        <li class="contact">
            <div class="wrap">
                <img src="{{profile}}" alt="No image" />
                <div class="meta">
                    <input type="hidden" id="{{g_id}}" name="{{g_id}}" value="{{g_name}}">
                    <button onclick="GetMessages({{g_id}})">
                        <p class="name">{{g_name}}</p>
                    </button>
                </div>
            </div>
        </li>
    {% endfor %}
    
    <script>
        function GetMessages(id) {
          var myGroup = document.getElementById(id).value;
          $('.ajaxProgress').show();
          $.ajax({
              type: "GET",
              url: "/getmsgs/"+myGroup,
              success: function(response){
                  $("#display").empty();
                    ...
              },
              error: function(response){
                  alert("No Data Found");
              }
          });
      }
    </script>
    

    很好,它对我有效我添加了getElementById,就像Shukran一样
    {% for profile, g_name, g_id in group_list %}
        <li class="contact">
            <div class="wrap">
                <img src="{{profile}}" alt="No image" />
                <div class="meta">
                    <button onclick="GetMessages({{g_name}})">
                        <p class="name">{{g_name}}</p>
                    </button>
                </div>
            </div>
        </li>
    {% endfor %}
    
    <script>
        function GetMessages(myGroup) {
          $('.ajaxProgress').show();
          $.ajax({
              type: "GET",
              url: "/getmsgs/"+myGroup,
              success: function(response){
                  $("#display").empty();
                    ...
              },
              error: function(response){
                  alert("No Data Found");
              }
          });
      }
    </script>