【问题标题】:Redirecting to external website with post data results in ErrorException (Laravel)使用发布数据重定向到外部网站会导致 ErrorException (Laravel)
【发布时间】:2019-09-06 10:13:06
【问题描述】:

我正在尝试将我的网站重定向到带有参数的外部网站。但是,当我这样做时,我得到一个错误异常,说“标题可能不包含多个标题,检测到新行”。这将是我的重定向代码;

return Redirect::to($redirectUrl)->with(['ord_date' => $dueDate, 'ord_totalamt' => $cart_total, 'ord_gstamt' => 0.00, 'ord_shipname' => $user['name'],'ord_mercref' => $ord_mercref, 'ord_mercID' => $merchantid, 'ord_returnURL' => 'http://local.site.com/order/status', 'merchant_hashvalue' => $key]);

请注意,我也尝试过使用Redirect::away,但它会导致相同的错误。 我在这里做错了什么?

编辑#1;

我的$redirecturl 就是这样; $redirecturl = 'https://myurl.com" 所以它在一行中。

【问题讨论】:

标签: laravel


【解决方案1】:

您应该自己将数据构建到$redirectUrl,而不是使用with

$query = http_build_query([
    'ord_date' => $dueDate,
    'ord_totalamt' => $cart_total,
    'ord_gstamt' => 0.00,
    'ord_shipname' => $user['name'],
    'ord_mercref' => $ord_mercref,
    'ord_mercID' => $merchantid,
    'ord_returnURL' => 'http://local.site.com/order/status',
    'merchant_hashvalue' => $key
])

$formattedRedirectUrl = preg_replace('/[ \t]+/', ' ', preg_replace('/[\r\n]+/', "\n", $redirectUrl);

return Redirect::to($formattedRedirectUrl.'?'.$query);

【讨论】:

  • @UdhayanNair 那么你有一个错误的$redirectUrl 值,带有前导空格和/或换行符。编辑了我的答案。
  • 那会很有趣,因为我添加了另一个关于该错误的重复问题。
  • @Flame 我知道,也标记了它,如您所见,答案不断演变。
  • 但是从我的 Edit1 中可以看出,我的 Url 没有空格或换行符:/
  • @UdhayanNair 即使使用已编辑的解决方案,您是否仍然遇到相同的错误?你能var_dump($redirectUrl) 并发布结果吗?
猜你喜欢
  • 2014-08-17
  • 1970-01-01
  • 2019-11-10
  • 2015-10-04
  • 2020-11-18
  • 1970-01-01
  • 2020-05-13
  • 2012-06-11
  • 1970-01-01
相关资源
最近更新 更多