如何将所有表单数据功能传递给第三方URL。假设我的第三个网址是
`http:\\www.abletoaccess.com\form\request`
出于安全原因,我不想在form action
方法中访问此网址,或者我不想发布直接表单数据。我希望当我提交表单时,所有数据都会出现在我的函数中,并重定向到带有帖子数据的第三方网址并添加更多参数。
任何帮助将不胜感激!!!!
答案 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)
答案 3 :(得分:0)
如果可以,请安装有助于解决这些问题的Guzzle客户端。
您可以将客户端传递给控制器,并向另一个URL发送请求,如下所示:
public function someMethod(GuzzleHttp\Client $client)
{
$client->post('http:\\www.abletoaccess.com\form\request', [
'form_params' => [
'param1' => 'something',
...
]
]);
}