如何从laravel控制器打印变量?

时间:2018-09-26 04:04:07

标签: php laravel

我正在laravel控制器中使用php文件。在调用文件时,我使用ajax调用传递了一些数据。我想打印传递给控制器​​文件的变量。下面是我的代码-

function handleJSON(originePlaceID, destPlaceID){
                var elements = document.getElementsByClassName('waypoints'); //getting the values from input field
                var wayptArray = new Array();
                for(var i = 0; i < elements.length; i++){
                    if(elements[i].value != "") {
                        wayptArray.push(elements[i].value);
                        }
                    }
                var JsonWaypt = JSON.stringify(wayptArray);
                $.ajax({
                    type: "GET",
                    url: "placeIdApi",
                    data: {data : JsonWaypt, _token: '{{csrf_token()}}'}, 
                    cache: false,
                    success: function(places){
                        console.log(places);
                    }
                });
                }

我的web.php文件:

Route::get('/placeIdApi', 'placeId@index');

我的控制器文件(placeId.php)

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class placeId extends Controller
{
     public function index(Request $request){
        $values = $request->data; //I want to print this $values variable.

    }
}

有人可以建议我如何打印此$ request或$ values变量吗?预先感谢。

4 个答案:

答案 0 :(得分:2)

如果您尝试将$values值作为JSON输出以在AJAX请求中使用,则最好执行以下操作:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class placeId extends Controller
{
     public function index(Request $request){
        $values = $request->data; //I want to print this $values variable.
        return response()->json($values);
    }
}

这将允许您的js函数使用响应中返回的数据。

要按照其他人的建议仅打印出该值,可以使用dd函数:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class placeId extends Controller
{
     public function index(Request $request){
        $values = $request->data; //I want to print this $values variable.
        dd($values);
    }
}

然后,您可以导航到定义的路线http://example.com/placeIdApi,以查看回显的数据。

答案 1 :(得分:0)

您可以像这样转储$ value:     

new

答案 2 :(得分:0)

您可以使用转储方法

use Illuminate\Support\Facades\Input;

....
'status'         => 'required|in:Released,UnReleased',
'productionYear' => [
        'nullable',
        'digits:4',
        function($attribute, $value, $fail) {
            $status = Input::get('status'); // Retrieve status

            if ($status === 'Released' && $value > now()->year) {
                return $fail($attribute.' is invalid.');
            } elseif ($status === 'UnReleased' && $value > (now()->year + 1)) {
                return $fail($attribute.' is invalid.');
            }
        },
    ],
...

答案 3 :(得分:0)

出于您的目的, dd 方法绝对是最好的方法,因此应该可以进行以下操作:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class placeId extends Controller
{
    public function index(Request $request){
    $values = $request->data;
    //Print the values
    dd($values);
}

查看打印结果,请打开浏览器的控制台,然后转到网络部分。检查与您的请求相关的数据包。 dd 内容应打印到请求包的预览中。