Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将一些数据从PHP后端处理到AJAX_Php_Ajax_Setinterval - Fatal编程技术网

将一些数据从PHP后端处理到AJAX

将一些数据从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

我正在开发一个Laravel应用程序,通过该应用程序,我将连续三次接触支付网关,并在5秒后监听支付状态。我想将数据从控制器传递到AJAX代码,并使用setInterval Js方法来执行该功能。在停止事务之前,重复接触API连续3次。我不知道如何绕过它

包含PHP逻辑的当前控制器

 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更好的解决方案。