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



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

`http:\www.abletoaccess.comformrequest` 

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

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

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

    <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>

尝试以下代码:

<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:如何将数据重定向到外部资源表单控制器

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

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

PHP卷曲

如果可以,请安装有助于这些事情的Guzzle客户端。

您可以将客户端传递给控制器,并对另一个 URL 执行 post 请求,如下所示:

public function someMethod(GuzzleHttpClient $client)
{
    $client->post('http:\www.abletoaccess.comformrequest', [
        'form_params' => [
            'param1' => 'something',
            ...
        ]
    ]);
}

最新更新