为了账号安全,请及时绑定邮箱和手机立即绑定

拉拉维尔 | PHP | 如何使用file_get_contents?

拉拉维尔 | PHP | 如何使用file_get_contents?

PHP
动漫人物 2021-12-03 16:42:54
我想学习并了解如何使用从外部服务器发送到我的 Laravel 项目的数据。所以我做了这条路线:Route::get('/receive','MyController@Receive');在控制器中我做到了: public function Receive(Request $request){     $data = file_get_contents("php://input");     $json_dat = json_decode($data, true);     echo $json_dat; }使用 POSTMAN,我将 POST 请求发送到 ` http://my_domain/receive使用 Body > Row > JSON APP 和一个简单的表格:`[{    "type_3": "Hero", }]在 Postman 中执行 URL 时,echo 没有任何反应 $json_dat我期待的是:带有 type_3 的 Json 数据:Hero先感谢您
查看完整描述

3 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

正如柯蒂斯所说,您需要做的第一件事是将路线从 更改getpost

接下来,您要使用正确的Content-Type:application/json标头发送有效的 json 请求正文:

{  
   "type_3":"Hero"
   }

在控制器本身中,您不需要手动检索输入,因为 Laravel 足够智能,能够为您捕获和解析 json。

您可以访问使用请求对象的值$request->input('type_3')$request->all()或更多的功能,为了这个目的,例如json()post()等等。

希望你能以此为依据。


查看完整回答
反对 回复 2021-12-03
?
茅侃侃

TA贡献1842条经验 获得超21个赞

很简单,您期待的是 GET 请求而不是 POST。

改变

Route::get('/receive','MyController@Receive');

Route::post('/receive','MyController@Receive');


查看完整回答
反对 回复 2021-12-03
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

使用 post 代替进入路由器



Route::post('/receive','MyController@Receive');


在控制器中


public function Receive(Request $request){



    $request->json('type_3'); // hero  get from json


    $request->input('type_3'); // get from input




   return $request->all(); //return all input,request or json and vs vs

 }


查看完整回答
反对 回复 2021-12-03
  • 3 回答
  • 0 关注
  • 224 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信