Gostaria de fazer 2 chamadas de API Fetch para transferir dados do meu arquivo JS para o meu arquivo PHP. A primeira chamada é condicional e transfere um array de dados (que é tratado corretamente no meu arquivo PHP). A segunda chamada de API é uma espécie de timer (usando a função setInterval) que desejo usar para verificar se o cliente ainda está no navegador ( sim, esse é o objetivo final!). As 2 chamadas estão funcionando corretamente (não recebem erros e podem obter dados corretamente do primeiro array). O problema é que não sei como obter os dados do timer separadamente em uma variável no meu arquivo PHP (que irei em seguida enviar no array)! Você pode mostrar o caminho (ainda sou iniciante no Fetch ..)
Aqui está o código no meu arquivo JS
primeira chamada
if(...Button pressed...){
fetch("cart.php",{
"method":"POST",
"Headers":{
"content-type":"application/json; charset=utf-8"
},
"body":JSON.stringify(arrayOrderedProducts)
})
.then(function(response){
return response.text()
})
.then(function(data){
console.log(data)
})
}
Segunda Chamada
setInterval(()=>{
timer+=1
},1000)
function checkConnection(){
fetch ("cart.php",{
method:"Post",
body :timer
})
.then(
response=>{
return response.text()})
.then(
response=>{
console.log(timer)
})
.catch(
error=>{
console.log(error)
})
}
let intervalConCheck = setInterval(()=>checkConnection(),1000)
Aqui está o código no meu arquivo PHP
<?php
if(isset($_POST)){
$data = file_get_contents("php://input");
$orders = json_decode($data);
...rest of code that retrieve data in arrayOrderedProducts...
}
?>
Para conseguir o que deseja, você precisa modificar seu código JavaScript para enviar o valor do timer separadamente da primeira chamada. Aqui está um exemplo de como você pode estruturar seu código JavaScript:
No seu arquivo PHP, você pode manipular os dados recebidos de ambas as chamadas separadamente:
Desta forma, é possível distinguir entre os dados enviados na primeira chamada (contendo uma matriz de produtos encomendados) e os dados enviados na segunda chamada (contendo o valor do temporizador). Ajuste a lógica de processamento em seu arquivo PHP com base em seus requisitos específicos.