Laravel 5.4发布重定向到GET状态302

时间:2017-05-20 02:55:56

标签: php laravel-5 stripe-payments

我在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')->name('subscription.store')->middleware('can:admin-access');

Cntroller:

    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

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

2 个答案:

答案 0 :(得分:0)

您需要定义默认重定向。目前,您只能在订阅用户时重定向。如果不是,则设置默认路由以重定向。

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');
}

答案 1 :(得分:0)

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