Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 查询字符串返回null作为字符串_Javascript_Laravel - Fatal编程技术网

Javascript 查询字符串返回null作为字符串

Javascript 查询字符串返回null作为字符串,javascript,laravel,Javascript,Laravel,我从前到后发送数据,但当查询为null时,laravel会将此数据作为字符串“null”返回 网址: url=example.com?name=null&phone=000000 $name=$request->input('name') 结果:name='null' 我可以使用$name=$request->input('name')='null'?null:$request->input('name') 但我在寻找更清洁的解决方案您可以为更清洁的解决方案执行以下操作: $name = $re

我从前到后发送数据,但当查询为null时,laravel会将此数据作为字符串“null”返回

网址:
url=example.com?name=null&phone=000000

$name=$request->input('name')
结果:
name='null'

我可以使用
$name=$request->input('name')='null'?null:$request->input('name')

但我在寻找更清洁的解决方案

您可以为更清洁的解决方案执行以下操作:

$name = $request->input('name') ?? NULL;

我希望这会有帮助。

拉威尔已经有了一些中间产品

App\Http\Middleware\TrimStrings-从字符串中修剪空格 Illumb\Foundation\Http\Middleware\ConvertEmptyStringsToull-将空字符串转换为null,即“”将转换为null

当您深入挖掘一点时,Laravel内部有一个内置类来转换传入的请求,即*Illumb\Foundation\Http\Middleware\TransformsRequest

现在,您可以创建自己的中间件来转换传入的请求

<?php

namespace App\Http\Middlewares;

use Illuminate\Foundation\Http\Middleware\TransformsRequest;

class CastStringifiedNullToNull extends TransformsRequest
{
    /**
     * Transform the given value.
     *
     * @param  string  $key
     * @param  mixed  $value
     * @return mixed
     */
    protected function transform($key, $value)
    {
        return is_string($value) && $value === 'null' ? null : $value;
    }
}

在这种情况下,name将始终返回'null'@milednassim How come?。根据上面的代码,如果您的请求输入为null,那么只有null将被分配给它
name=null
将发送字符串
'null'
。。。如果您确实想要
null
,那么您需要执行
name=
(空白,没有值)
$request->input('name',null)
将处理它,但您需要调整查询字符串。在
GET
中,方法名称将转换为字符串,这是正常的