我想进行 2 个 Fetch API 调用,将数据从 JS 文件传输到 PHP 文件。第一个调用是有条件的并传输一组数据(在我的 PHP 文件中已正确处理)第二个 API 调用是一种计时器(使用 setInterval 函数),我想用它来检查客户端是否仍在浏览器上(是的,这是最终目标!)。这两个调用工作正常(不会出现错误,并且可以从第一个数组正确获取数据)。问题是我不知道如何在 PHP 文件的变量中单独获取计时器数据(接下来我将把它推入数组)!你能指路吗(我还是 Fetch 的初学者..)
这是我的 JS 文件中的代码
第一次通话
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)
})
}
第二次通话
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)
这是我的 PHP 文件中的代码
<?php
if(isset($_POST)){
$data = file_get_contents("php://input");
$orders = json_decode($data);
...rest of code that retrieve data in arrayOrderedProducts...
}
?>
为了实现您想要的效果,您需要修改 JavaScript 代码,以便与第一次调用分开发送计时器值。以下是如何构建 JavaScript 代码的示例:
在您的 PHP 文件中,您可以分别处理从两个调用接收到的数据:
这样,您可以区分第一次调用中发送的数据(包含订购产品的数组)和第二次调用中发送的数据(包含计时器值)。根据您的具体要求调整 PHP 文件中的处理逻辑。