2017-10-17 53 views
0

我想通過Ajax請求從編輯表單插入新產品,但我將所有插入的值返回,而是添加新產品,它將在列表中添加第一個產品。我究竟做錯了什麼?如何從Ajax添加新產品到數據庫請求

這是我的Ajax請求:

$(document).on('change','.qty',function(){ 


    var id = $("#inv_id").val(); 
    var tr = $(this).closest('tr'); 
    var name = tr.find(".name").val(); 
    var price = tr.find(".price").val(); 
    var qty = tr.find(".qty").val(); 
    var total = tr.find(".total").val(); 

    $.ajax({ 
     type: "POST", 
     url: '/product', 
     data: {id: id, name: name, price: price, qty: qty, total: total, '_token':$('meta[name="csrf-token"]').attr('content')}, 
     success: function(data) { 

      console.log(data); 

     }, 
      error: function(data){ 
      alert("fail"); 

      } 
    }); 

});

這是我的控制器

public function product(Request $request){ 



     $prod = new Product; 
     $prod->invoice_id = $request->id; 
     $prod->name = $request->name; 
     $prod->price = $request->price; 
     $prod->qty = $request->qty; 
     $prod->total = $request->total; 
     $prod->save(); 


    return response()->json(['responseText' => 'Success!'], 200); 




} 

我一直在使用產品::創建([])審判;但它也不起作用。它添加了第一個產品的副本,ID返回是來自發票ID的ID。

回答

0

出了什麼問題? Ajax響應數據或插入的值到數據庫?

在我看來,您的ajax調用不會返回有關您創建的產品的任何信息。

也許這樣?

public function product(Request $request) { 

    // ... 

    return response()->json($prod->toArray(), 200); 
} 
+0

將值插入到數據庫中。我得到500(內部服務器錯誤)。 –

+0

如果我返回$ request->所有我得到我輸入的所有內容。但是它不會添加到數據庫中。總是得到500(內部服務器錯誤)。任何想法爲什麼?感謝您抽出時間 –

+0

我也使用了一個循環,沒有運氣 –

相關問題