如何在 PHP 或 Laravel 中访问 JsonResponse 对象中的 属性 值?
How to access a property value inside JsonResponse Object in PHP or Laravel?
我正在使用 Ajax 执行 POST,我的服务器正在正常获取数据。但是,我正在努力访问用户发送的值。简而言之,我如何访问 "user" (tom) 的值?任何人都可以让我走上正确的轨道。先感谢您。这是我的 JsonResponse 对象:
[2016-10-22 05:10:49] local.INFO: From Ajax: Illuminate\Http\JsonResponse Object
(
[data:protected] => {"user":"Tom","_token":"uRZJBVHH3worhjX4Ul6WlnJC1JYh3EVMNWob7Azr"}
[callback:protected] =>
[encodingOptions:protected] => 0
[headers] => Symfony\Component\HttpFoundation\ResponseHeaderBag Object
(
[computedCacheControl:protected] => Array
(
[no-cache] => 1
)
[cookies:protected] => Array
(
)
[headerNames:protected] => Array
(
[cache-control] => Cache-Control
[content-type] => Content-Type
)
[headers:protected] => Array
(
[cache-control] => Array
(
[0] => no-cache
)
[content-type] => Array
(
[0] => application/json
)
)
[cacheControl:protected] => Array
(
)
)
[content:protected] => {"user":"Tom","_token":"uRZJBVHH3worhjX4Ul6WlnJC1JYh3EVMNWob7Azr"}
[version:protected] => 1.0
[statusCode:protected] => 200
[statusText:protected] => OK
[charset:protected] =>
)
使用 Laravel 您可以像访问常规变量一样访问 JSON 数据。在你的情况下你需要这样的东西:
$username = $request->get('user');
我解决了我的问题,我会分享它以防有人需要它。
所以我获得 JsonObjec 的方式是在 Routes.php:
中执行此操作
Route::post('/register', function(){
if(Request::ajax()){
Log::info('From Ajax: ' . print_r(Response::json(Request::all()), true));
return var_dump(Response::json(Request::all()));
}
});
但我这样做是为了实际访问用户 (Tom) 的值。
$somevar = (Request::all());
Log::info('From Ajax: ' . print_r($somevar["user"], true));
这解决了我的问题。希望对大家有帮助!
使用 Laravel 也可以使用 illuminate getData()
方法访问数据。
$someVar->getData();
https://laravel.com/api/5.3/Illuminate/Http/JsonResponse.html#method_getData
我正在使用 Ajax 执行 POST,我的服务器正在正常获取数据。但是,我正在努力访问用户发送的值。简而言之,我如何访问 "user" (tom) 的值?任何人都可以让我走上正确的轨道。先感谢您。这是我的 JsonResponse 对象:
[2016-10-22 05:10:49] local.INFO: From Ajax: Illuminate\Http\JsonResponse Object
(
[data:protected] => {"user":"Tom","_token":"uRZJBVHH3worhjX4Ul6WlnJC1JYh3EVMNWob7Azr"}
[callback:protected] =>
[encodingOptions:protected] => 0
[headers] => Symfony\Component\HttpFoundation\ResponseHeaderBag Object
(
[computedCacheControl:protected] => Array
(
[no-cache] => 1
)
[cookies:protected] => Array
(
)
[headerNames:protected] => Array
(
[cache-control] => Cache-Control
[content-type] => Content-Type
)
[headers:protected] => Array
(
[cache-control] => Array
(
[0] => no-cache
)
[content-type] => Array
(
[0] => application/json
)
)
[cacheControl:protected] => Array
(
)
)
[content:protected] => {"user":"Tom","_token":"uRZJBVHH3worhjX4Ul6WlnJC1JYh3EVMNWob7Azr"}
[version:protected] => 1.0
[statusCode:protected] => 200
[statusText:protected] => OK
[charset:protected] =>
)
使用 Laravel 您可以像访问常规变量一样访问 JSON 数据。在你的情况下你需要这样的东西:
$username = $request->get('user');
我解决了我的问题,我会分享它以防有人需要它。 所以我获得 JsonObjec 的方式是在 Routes.php:
中执行此操作Route::post('/register', function(){
if(Request::ajax()){
Log::info('From Ajax: ' . print_r(Response::json(Request::all()), true));
return var_dump(Response::json(Request::all()));
}
});
但我这样做是为了实际访问用户 (Tom) 的值。
$somevar = (Request::all());
Log::info('From Ajax: ' . print_r($somevar["user"], true));
这解决了我的问题。希望对大家有帮助!
使用 Laravel 也可以使用 illuminate getData()
方法访问数据。
$someVar->getData();
https://laravel.com/api/5.3/Illuminate/Http/JsonResponse.html#method_getData