2017-11-11 4 views
3

この問題を約3日間修正しようとしており、実行できません。 私はDjangoで自動インクリメントされているIDを取得する必要があります。あなたは私を助けてくれますか?AJAX関数がIDを取得していません

function add_product(){ 
    event.preventDefault(); 
    var name = $("#name").val(); 
    var price = $("#price").val(); 
    var description = $("#description").val(); 
    var dataString = [name, description, price]; 
    var n = dataString.length; 
    $.ajax({ 
    type: "POST", 
    url: "add/", 
    data: { 
     csrfmiddlewaretoken: '{{ csrf_token }}', 
     name: $('#name').val(), 
     email: $('#price').val(), 
     description: $('#description').val(), 
    }, 
    dataType: "json", 
    success: function(){ 
     var button = $('<button class="reo" onclick="delete_product('+ I need to take the id from the database+')" id="my" value="">Delete</button>'); 
     var row = $('<tr>'); 
     for(var i = 0; i < n; i++) { 
     row.append($('<td>').html(dataString[i])); 
     } 

     $('#tableForm').append(row); 
     $('#tableForm').append(button); 
    } 
    }); 
}; 

答えて

4

あなたのビューはHttpResponseに新しい作成したIDを返すべきである、以下のようにあなたの成功の機能に

success:function(data) { 
... 
    var button = $('<button class="reo" onclick="delete_product('+ data +')" id="my" value="">Delete</button>'); 
... 
} 

を返されたデータを渡します。例えば(python/djangoバックエンドと仮定して)、

Return HttpResponse(new_record.id, status=200) 

関連する問題