2017-10-17 4 views
0

編集フォームからAjaxリクエストで新しい製品を挿入しようとしていますが、すべての値が返されますが、新しい製品を追加する代わりにリストに最初の製品が追加されます。私は何を間違えているのですか?新しい製品をAjaxからdabaseに追加する方法

これは私の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の応答データまたはDBに挿入された値は?

あなたのajax呼び出しは、作成した製品に関する何も返されないようです。

多分このような何か?

public function product(Request $request) { 

    // ... 

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

データベースに値を挿入します。私は500(内部サーバーエラー)を取得します。 –

+0

私が$ request->を返すと、私はフォームに入力したものすべてを取得します。しかし、それはデータベースに追加されていません。常に500(内部サーバーエラー)を取得します。どんな考え?あなたの時間を取ってくれてありがとう –

+0

私もループを使いました、運はありません –

関連する問題