我使用angularjs控制器将数据数组传递给laravel控制器,但laravel接收到一个字符串


i use angularjs controller to pass data array to laravel controller, but laravel received a string

Laravel控制器:

function printBarcode($id=null)
{
    print_r($id);
}

AngularJS控制器:

$scope.select = function(data) {
    console.log(Object.keys(data.items));
    var id=[];
    for(var i=0; i<Object.keys(data.items).length; i++)
    {
        Object.keys(data.items)[i];
        id.push(Object.keys(data.items)[i]);
    }
    $http.get('/printbarcode/'+id).success(function (data) {
        console.log(data);
    }).
    error(function (data) {
        console.log(data);
    });
}`

叶片模板:

<input type="checkbox" data-ng-model="barcodeData.items[<?php echo $items->item_code ;?>]"  value="{{$items->item_code}}" />

路线:

Route::get('/printbarcode/{id}',array('as'=>'printBarcodes','uses'=>'BarcodeController@printBarcode'));

你对这个print_r($id);有什么期望?它是响应上下文中的字符串内容。如果您需要json响应,则:

function printBarcode($id=null)
{
    return json_encode([$id], true);
}