laravel ajax如何从数组中获取所有数据

时间:2017-08-09 03:21:18

标签: php jquery ajax laravel

我有一个代码可以将我的数据存储在数据库中。但每次它存储在数据库中时,它只获取最后一个数据,而不是我的增量中的整个数据。

 $('#btnSubmit').on('click', function(){
    for(var increment = 0; increment <= pos_inc; increment++){
        var text1 = $('#id_item'+increment).val();
        var text2 = parseInt($('#item_quan'+increment).val()); 
        var text3 = $('#price_tot'+increment).val();
        var text4 = $('#or').val();
        var text5 = $('#cus_name').val();
        var text6 = $('#total').val();
        var text7 = parseInt([$('#id_categ'+increment).val()]);

        $.post('DoAddSales', {
            '_token': $('input[name=_token]').val(),
            'orders': text1,
            'item_quan': text2, 
            'price_tot': text3,
            'or': text4,
            'cus_name': text5,
            'total': text6,
            'id_categ': text7,
         },function(data){
            window.location.href = "use-pos";
         });
    }
});

在我的控制器中我有以下内容:

$inc = $request->input('inc');   
$inc2 = 1;
for($inc2; $inc2 <= $inc; $inc2++){
    $ix = ($request->input('i_name'.$inc2));
    $ix2 = ($request->input('quan'.$inc2));  
    $ix3 = ($request->input('tot'.$inc2));
    $ix4 = ($request->input('id_categ'.$inc2));
    $ix5 = ($request->input('id_item'.$inc2));

    echo '<input type="hidden" name="orders'.$inc2.'" id="orders'.$inc2.'" class="getOrders" value="'.$ix.'" disabled>'; 
    echo '<input type="hidden" name="item_quan'.$inc2.'" id="item_quan'.$inc2.'" class="getOrders" value="'.$ix2.'" disabled>';
    echo '<input type="hidden" name="price_tot'.$inc2.'" id="price_tot'.$inc2.'" class="getOrders" value="'.$ix3.'" disabled>';
    echo '<input type="hidden" name="id_categ'.$inc2.'" id="id_categ'.$inc2.'" class="getOrders" value="'.$ix4.'" disabled>';
    echo '<input type="hidden" name="id_item'.$inc2.'" id="id_item'.$inc2.'" class="getOrders" value="'.$ix5.'" disabled>';                   
}  
echo '<input type="hidden" id="inc" value="'.$inc.'" disabled>';
return view('show_sales')->with(
    array('name'=>$request->input('customer_name'),
        'or_no'=>$request->input('or_number'),          
        'total'=>$request->input('samp'),            
        'change'=>$request->input('change'),
        'inc'=>$inc,
    ));

我还是AJAX和Laravel的新手,并且还在学习,我如何输出所有数据并从输入中增加并将其保存在数据库中?

3 个答案:

答案 0 :(得分:1)

使用:

print_r(Input::all()); 

检查传递给控制器​​的行数以进行保存。

答案 1 :(得分:0)

您可以使用Input::all()函数检查传递给控制器​​的行。

答案 2 :(得分:0)

这是因为您在jquery中使用$ .post方法在您的情况下是异步的,即使您的ajax请求尚未完成,您的循环仍将继续,因此请尝试使用

$。ajax以便您可以设置ajax的行为并设置 async:false ,以便您的ajax请求以同步方式运行

如果这有助于您,请告诉我。 祝你好运