【问题标题】:how to print variable from laravel controller?如何从 laravel 控制器打印变量?
【发布时间】:2018-09-26 04:04:06
【问题描述】:

我在 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 变量?提前致谢。

【问题讨论】:

  • 定义打印?您想转储它们以查看值还是在其他地方使用它们?
  • 除了dump作为其他人的回答,你也可以使用print_r($values);
  • 我想对这个控制器本身的 $values 变量做一些事情。我可以将值返回给 js 和 console.log 那里。但我想在 php 文件本身中打印它。

标签: php laravel


【解决方案1】:

如果您尝试将 $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 以查看回显的数据。

【讨论】:

    【解决方案2】:

    出于您的目的,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 内容应打印到您的请求包的预览中。

    【讨论】:

      【解决方案3】:

      您可以像这样转储 $value:

      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); // die and dump $values
      
          }
      }
      

      【讨论】:

      • 我试过dd函数。但我想知道在哪里可以看到输出?我需要重定向到任何页面吗?
      • 您可以在浏览器中导航到您定义的路线:example.com/placeIdApi,它应该会在那里显示输出。
      【解决方案4】:

      你可以使用转储方法

      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.
      
              dump($values); //  dump $values
             //OR JSON RESPONSE
              return response()->json($values);
      
      
          }
      }
      

      【讨论】:

      • 我试过 dd() 函数。但我想知道在哪里可以看到输出?我需要重定向到任何页面吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-09
      • 1970-01-01
      • 2021-03-17
      • 2014-06-20
      • 1970-01-01
      • 1970-01-01
      • 2011-02-14
      相关资源
      最近更新 更多