【问题标题】:Laravel 5.4 post redirect to GET status 302Laravel 5.4 发布重定向到 GET 状态 302
【发布时间】:2017-10-20 06:11:45
【问题描述】:

我在 Laravel 中有一个简单的帖子表单,它在帖子之后被重定向到相同的表单(状态为 302)。我不确定是路线问题还是其他原因。

我的表格:

{!! Form::open(['route' => 'subscription.store']) !!}
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_xxxxxx"
data-amount="2000"
data-name="Name"
data-description="2 widgets"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-locale="auto"
data-currency="cad">
</script>
{!! Form::close() !!}

路线: Route::post('/subscription/store', 'Admin\SubscriptionController@store')-&gt;name('subscription.store')-&gt;middleware('can:admin-access');

控制器:

    public function store(Request $request)
    {
    $user = User::find($request->user()->id);
    $user->newSubscription('main', 'main')->create($request->input('stripeToken'));

    if ($user->subscribed('main')) {
        return redirect()->route('admin.dashboard');
    }
    }

Chrome 网络日志:

Request Method:POST Status Code:302 Found Remote Address:10.1.1.33:80 Referrer Policy:no-referrer-when-downgrade

有什么建议吗?这里有什么遗漏或错误?

【问题讨论】:

    标签: php laravel-5 stripe-payments


    【解决方案1】:

    这是我的错。我有一个中间件负责检查每个请求中的订阅状态,但我在构造函数中错误地启用了。

    【讨论】:

      【解决方案2】:

      您需要定义默认重定向。目前,您仅在用户订阅时重定向。设置默认路由以防万一他们不是重定向。

      public function store(Request $request)
      {
          $user = User::find($request->user()->id);
          $user->newSubscription('main', 'main')->create($request->input('stripeToken'));
      
          if ($user->subscribed('main')) {
              return redirect()->route('admin.dashboard');
          }
      
          return redirect()->route('admin.dashboard');
      }
      

      【讨论】:

        猜你喜欢
        • 2016-09-15
        • 1970-01-01
        • 1970-01-01
        • 2017-11-30
        • 1970-01-01
        • 2017-10-13
        • 1970-01-01
        • 2021-04-01
        • 2017-11-08
        相关资源
        最近更新 更多