【问题标题】:Laravel 6 Get information from POST JSONLaravel 6 从 POST JSON 获取信息
【发布时间】:2020-07-22 15:08:39
【问题描述】:

我正在尝试从 POST 请求中获取 JSON 信息。我的 POST 请求是:

var money = document.getElementById("code").value;
const Http = new XMLHttpRequest();
const url='/paypal/';
Http.open("POST", url);
Http.setRequestHeader("Content-Type", "application/json");
Http.send(JSON.stringify({
    value: money
}));

控制器是:

public function paypal(Request $r) {
$postInput = file_get_contents('php://input');
$data = json_decode($postInput, true);
$response = array('value' => $data);
return Response::json($response);
}

但我得到的唯一结果是:

{"value":null}

知道我的问题在哪里吗?

【问题讨论】:

  • 如果你在 var money 之后做console.log(money),你会得到null 还是你想要的值?
  • 我得到了我想要的价值。
  • 您能否检查一下您的 DevTools on Network 选项卡,看看是否根据需要以 JSON 格式发送负载?

标签: javascript php json laravel post


【解决方案1】:

谢谢你们的帮助。我通过 GET 请求发布所有内容来解决我的问题。

【讨论】:

    【解决方案2】:

    对于 laravel,我们可以更简单的获取 POST JSON。

    use Illuminate\Http\Request;
    
    
    public function test(Request $request) {
        $inputData = $request->json()->all();
    }
    

    【讨论】:

      【解决方案3】:

      使用 POST 请求时不要忘记在 headers 中设置 csrf 令牌

      添加元标记<meta name="csrf-token" content="{{ csrf_token() }}">

      let token = document.head.querySelector('meta[name="csrf-token"]')          
      var money = document.getElementById("code").value;
      const Http = new XMLHttpRequest();
      const url = '/paypal';
      Http.open("POST", url);
      Http.setRequestHeader("Content-Type", "application/json");
      Http.setRequestHeader('X-CSRF-TOKEN', token.content);
      Http.send(JSON.stringify({value: money}));
      

      要从控制器中检索 JSON 负载,请使用:

      $data = json_decode($request->getContent(), true);
      return response()->json($data);
      

      并确保可变货币具有正确的价值

      【讨论】:

      • 好的,我现在正在发送 CSRF-Token 并尝试用您的方式检索 JSON,但再次没有成功,我只收到 {}
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-11
      • 1970-01-01
      • 2012-07-14
      • 2016-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多