将一些数据从PHP后端处理到AJAX
我正在开发一个Laravel应用程序,通过该应用程序,我将连续三次接触支付网关,并在5秒后监听支付状态。我想将数据从控制器传递到AJAX代码,并使用setInterval Js方法来执行该功能。在停止事务之前,重复接触API连续3次。我不知道如何绕过它 包含PHP逻辑的当前控制器将一些数据从PHP后端处理到AJAX,php,ajax,setinterval,Php,Ajax,Setinterval,我正在开发一个Laravel应用程序,通过该应用程序,我将连续三次接触支付网关,并在5秒后监听支付状态。我想将数据从控制器传递到AJAX代码,并使用setInterval Js方法来执行该功能。在停止事务之前,重复接触API连续3次。我不知道如何绕过它 包含PHP逻辑的当前控制器 public function payFinal(Request $request) { //Convert to a JSON object $d
public function payFinal(Request $request)
{
//Convert to a JSON object
$data =(object)$request->all();
$quote = $request->session()->get('quoteID');
$all = array(
'phone' => $data->phone,
'quote_id' => $quote,
'payment_type' => $data->type,
);
//Post data to the payment gateway
$response = $this->global_Curl($all, 'api/payment/checkout');
//Get some data from the response from the API
$checkID = $response->data->CheckoutRequestID;
//Get another set of data
$type = $data->type;
//Add the data in an array and store in a variable ready for processing
$data = array(
'payment_reference' => $checkID,
'payment_type' => $type
);
//Reach out to another API to get status. This set of data is to be done repeatedly
$payStat = $this->global_Curl($data, 'api/payment/status')->data;
if ($payStat->status === 1) {
return 'true';
}
}
下面的代码取自上面的函数,我想将其传递给AJAX,并使用setInterval方法重复它
~z~请帮忙
//Reach out to another API to get status. This set of data is to be done repeatedly
$payStat = $this->global_Curl($data, 'api/payment/status')->data;
从中获取数据的AJAX代码
$.ajax({
url: 'getquote',
type: 'get',
contentType: 'application/x-www-form-urlencoded',
data: '',
success: function success(response) {
console.log(response);
},
error: function error(data) {
console.log(data);
}
});
给出的代码不清楚。。!不过,您可能可以尝试如下方式。 我相信您正在从javascript以ajax url的形式调用Controller的操作,并且在该操作中调用了php函数
payFinal()
,那么下面的代码将帮助您
JavaScript代码:
setInterval("AJAX Function to be invoked", 5000);
上面的代码每5秒钟调用一次ajax函数。不太清楚“将其传递给ajax”是什么意思。您是否在javascript上用ajax方法调用此控制器的路由?如果是,请包括该代码。您似乎在询问javascript功能,但只包括php。@Devon好的,让我更新code@Devon代码更新,,,我是AJAX新手,,,想知道如何传递问题中的第二部分代码,并在每5秒后使用setInterval设置执行时间,我至少会在发布之前尝试一下。您发布的ajax代码看起来不相关。如果你在等待成功或失败,而不是只运行3次,我认为递归将是比setInterval更好的解决方案。