加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – Laravel 4将数据从控制器发送到外部URL

发布时间:2020-12-14 19:39:46 所属栏目:大数据 来源:网络整理
导读:我正在寻找一种从控制器发送到外部URL的请求的方法.要发布的数据是一个php数组.接收的网址是外部网址的电子商务API.该职位必须通过控制器方法完成.网址应以“成功”,“错误”,“失败”或“trylater”字符串回覆.我没有成功尝试过以下内容: return Redirect:
我正在寻找一种从控制器发送到外部URL的请求的方法.要发布的数据是一个php数组.接收的网址是外部网址的电子商务API.该职位必须通过控制器方法完成.网址应以“成功”,“错误”,“失败”或“trylater”字符串回覆.我没有成功尝试过以下内容:
return Redirect::to("https://backoffice.host.iveri.com/Lite/Transactions/New/Authorise.aspx",compact($array));

我也试过卷曲:

$url = 'https://backoffice.host.iveri.com/Lite/Transactions/New/Authorise.aspx';
    //url-ify the data for the POST
    $fields_string ='';
    foreach($array as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
    rtrim($fields_string,'& ');

    //open connection
    $ch = curl_init();

    //set the url,number of POST vars,POST data
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_POST,count($array));
    curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
    curl_setopt($ch,CURLOPT_HEADER,0);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

    //execute post
    $result = curl_exec($ch);

    //close connection
    curl_close($ch);

要发送的数组的一部分是API用于响应的回调:

'Lite_Website_Successful_url' => 'https://mydomain.com/order/'.$order_id,'Lite_Website_Fail_url' => 'https://mydomain.com/checkout/fail','Lite_Website_TryLater_url' => 'https://mydomain.com/checkout/trylater','Lite_Website_Error_url' => 'https://mydomain.com/checkout/error'

请让我知道如何使用与外部网址一起携带的数据正确执行POST请求.从控制器的ajax职位也将有所帮助,但我尝试没有成功.但我更喜欢一个laravel php答案更多.谢谢.

让我澄清一些东西,并试图指出你正确的方向.

首先,您尝试执行的操作听起来像“从您的网络应用程序发出API请求”.在我如何表达它与你的这个措辞的区别在于它更通用.

>您可以在应用程序中的任何地方发出API请求,而不一定在您的控制器中(不要害怕为API调用等事项添加额外的类/模型)
>我很好奇为什么“必须”在你的控制器中完成?你的用例是什么?
> AJAX不存在于服务器端(在PHP中).这完全是一个特定于JavaScript的“技术”,它描述了JavaScript在客户端对URL的请求.

最后,你想做什么?您需要重定向用户吗?或者您是否需要进行API调用并在应用程序中解析结果?

您尝试的cURL请求应该用于提出API请求.这是在PHP代码中制作API请求的主要方式之一.但是,它不会允许前端的用户看到正在进行和处理的请求.使用cURL(和任何API请求),处理都在您的PHP后台(您的用户看不到)中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读