簡體   English   中英

表單數據未發送到服務器

[英]Form data not being sent to the server

我有一個表單,當用戶單擊查詢的搜索結果中的按鈕時,該表單會以模式彈出。 一旦使用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

        )};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM