Javascript 查询字符串返回null作为字符串
我从前到后发送数据,但当查询为null时,laravel会将此数据作为字符串“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
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
中,方法名称将转换为字符串,这是正常的