Laravel 5功能重定向到第三方网址

时间:2017-01-06 11:00:29

标签: php forms laravel laravel-5 laravel-5.2

如何将所有表单数据功能传递给第三方URL。假设我的第三个网址是

`http:\\www.abletoaccess.com\form\request` 

出于安全原因,我不想在form action方法中访问此网址,或者我不想发布直接表单数据。我希望当我提交表单时,所有数据都会出现在我的函数中,并重定向到带有帖子数据的第三方网址并添加更多参数。

任何帮助将不胜感激!!!!

4 个答案:

答案 0 :(得分:1)

您可以通过控制器处理请求,然后显示视图并自动将其提交到外部网址。

    <div class="container">
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="panel panel-default">
                <div class="panel-heading">
                    Page is loading...
                </div>
                <div class="panel-body">
                    {!! Form::open(['url' => $externalUrl, 'method' => 'POST', 'class' => 'form-horizontal', 'id' => 'my-form']) !!}
                        @foreach ($fields as $key => $value)
                            {{ Form::hidden($key, $value) }}
                        @endforeach
                        {{ Form::hidden('signature', $signature) }}
                    {!! Form::close() !!}
                </div>
            </div>
        </div>
    </div>
</div>
<script>
    document.getElementById('my-form').submit();
</script>

答案 1 :(得分:1)

尝试以下代码:

<form method="post" action={{ action('Controller@method') }}>

<input type="submit" value="add">
</form>

在控制器文件中写下代码:

public function method(Request $request)
{
     Redirect::away('external url')->withInputs(Input::all());
}

Laravel 5: how to redirect with data to external resource form controller

答案 2 :(得分:0)

首先,这似乎不是Laravel的具体问题。

其次,您需要在PHP中检查CURL函数。

PHP CURL

答案 3 :(得分:0)

如果可以,请安装有助于解决这些问题的Guzzle客户端。

您可以将客户端传递给控制器​​,并向另一个URL发送请求,如下所示:

public function someMethod(GuzzleHttp\Client $client)
{
    $client->post('http:\\www.abletoaccess.com\form\request', [
        'form_params' => [
            'param1' => 'something',
            ...
        ]
    ]);
}