表单数据未发送到服务器 - javascript

我有一个表单,当用户单击查询的搜索结果中的按钮时,该表单会以模式弹出。一旦使用ajax单击“提交”按钮,此表单便具有三个输入字段和一些其他字段。由于这是Django应用程序的一部分,因此我正在服务器端的视图中捕获值。我可以从表单的输入字段中成功获取数据,但是无法从附加字段中获取数据。

我对使用ajax相当陌生,因此可能是我做错了,但似乎应该将数据发送到服务器了。可能是什么问题呢?

这是ajax调用和模态形式的代码:

<script type="text/javascript">
$("#mform").submit(function(){
    var c = getCookie('csrftoken');
    //var data1 = $().attr("");
    var extraData = [];
    extraData['venue'] = $("#invite").data("venue");
    extraData['artist'] = $("#invite").data("artist");
    extraData['f_date'] = $("#invite").data("formatted_date");
    extraData['uf_date'] = $("#invite").data("date");
    extraData['ticket_url'] =  $("#invite").data("ticket_url");
    extraData['city'] = $("#invite").data("city");
    extraData['region'] = $("#invite").data("region");
    extraData['artist'] = $("#invite").data("artist");
    var PostData = {csrfmiddlewaretoken: c, additionalValues:extraData}
    $ajax({
        //context:this,
        type : 'POST',
        dataType: 'json',
        url: '/artistsearch/',
        data: JSON.stringify(PostData),
        success: function(response){}
    });
});

编辑:

HTML包含要发送的数据

    <ul class= 'list-group'>
    {% for ticket in data %}
        <li  class = 'list-group-item' >
            Title: {{ticket.title}}
            Location: {{ticket.formatted_location}}
            Venue: {{ticket.venue.name}}
            Date: {{ticket.formatted_datetime}}
            tickets status: {{ticket.ticket_status}}<br>
            <a href = {{ticket.ticket_url}}> ticket url</a>
            {% if user.is_authenticated %}
                <button id = 'invite' type='button' class= 'btn btn-info btn-lg' data-toggle = 'modal' data-target='#myModal' data-artist = {{ticket.artists.name}} data-venue={{ticket.venue.name}} data-date = {{ticket.datetime}} data-formatted_date = {{ticket.formatted_datetime}} data-city= {{ticket.venue.city}} data-region = {{ticket.venue.region}} data-ticket_url={{ticket.ticket_url}} > Invite a friend </button>    
                <button id = 'save' type = 'button' class = 'btn btn-primary-outline'> Save Concert </button>
            {% endif %}
        </li>
    {% endfor %}
</ul>

参考方案

您已经错过了用于按钮ID邀请的#选择器,它应该像$(“#invite”)一样。使用像data-artist之类的属性,而不是仅仅使用artist,并像$(“#invite”)。data(“ artist)或$(”#invite“)。attr(” data-artist)这样获得属性。

然后像...一样发布它。

var postData = {
            csrfmiddlewaretoken:c,
            extraValues:extraData
         }
 然后像这样发布数据

    $.ajax({
        type: 'post',
        url: 'URL here',
        data:JSON.stringify(PostData),
       // .......
      //   Other code here

        )};

如果我得到url(''),我该如何使用另一个URL - javascript

我是新手,正在写这篇文章,但是如果源上没有图像,那么我只有空白。有人可以告诉我,如果我正在获取背景图像,如何获取/images/no-image.jpg:url();这是我的代码:<div class="uk-clearfix uk-position-relative"> <div class="recipeb…

在JavaScript函数中转义引号 - javascript

我正在尝试将变量传递给javascript函数。根据用户的选择,它可以是文本或图像。这里已经讨论了类似的问题,但我无法解决。在php中,我这样编码:if ($choice == 1) { $img = '<img src = "../folder/'.$_SESSION["img"].'�…

如何在没有for循环的情况下在Javascript中使用Django模板标签 - javascript

我想在JavaScript中使用模板变量:我的问题是在javascript代码中使用for循环,for循环之间的所有事情都会重复..但我不想要....下面粘贴了我的代码..有人可以告诉我更好的方法吗这..因为这看起来很丑..这是我的代码: {% block extra_javascript %} <script src="/static/js…

使用JS和PHP更改弹出窗口背景图像 - javascript

我有一个JS函数:function zoom(now) { document.getElementById("popup").style.display = "block"; document.getElementById("photos").style.backgroundImage = …

打印二维阵列 - javascript

我正在尝试打印子元素。在this example之后。怎么做?。$myarray = array("DO"=>array('IDEAS','BRANDS','CREATIVE','CAMPAIGNS'), "JOCKEY"=>a…