前端用$.ajax的post方法传JSON数据,后端PHP解析数据示例
一、前端用$.ajax的post方法传JSON数据
//检测是否有网络
if (window.navigator.onLine) {
$.ajax({
type: "POST",
timeout: 5000,
// 设置超时时间
url: "jiemu_test.php",
contentType: "application/json",
//如果提交的是json数据类型,则必须有此参数,表示提交的数据类型
//dataType: "json", //表示返回值类型,不必须
data: JSON.stringify({
"shebei_id": '<?=$var_shebei_id?>'
}),
success: function(jsonResult) {
console.log(jsonResult)
//异步计算是否有可以播放的内容,有就刷新,没有的话就在指定间隔时间再检查,这样的好处防止页面跳动
var give_strs = new Array(); //定义一数组
give_strs = jsonResult.split("|"); //字符分割
if (give_strs[0] == 'reload') { //指令要求强制更新
window.top.location.href = 'index.php?shebei_id=<?=$var_shebei_id?>';
} else if (give_strs[0] == 'have') { //有节目
if (give_strs[1] != '<?=$var_jiemu_dh?>') { //而且节目与当前不同
window.top.location.href = 'index.php?shebei_id=<?=$var_shebei_id?>';
} else {
$("#ajax_num").val(0) //网络能,清0
$("#status").html("最后通讯时间:" + give_strs[2]);
setTimeout("myscreen_reload()", <?=$var_xintiao ? >);
}
} else if (give_strs[0] == 'nohave') {
$("#ajax_num").val(0) //网络能,清0
$("#status").html("最后通讯时间:" + give_strs[1]);
setTimeout("myscreen_reload()", <?=$var_xintiao ? >);
}
},
// 例如以下错误: /Not Found/error/timeout
error: function(data) {
console.log("Error:" + data.statusText) setTimeout("myscreen_reload()", <?=$var_xintiao ? >);
}
});
} else {
var n_str = "<span style=color:red>(无网络)</span>";
$("#status").html(n_str) setTimeout("myscreen_reload()", <?=$var_xintiao ? >);
}
PHP后端处理AJAX传过来的JSON数据
$post_val=file_get_contents('php://input');//jq ajax的json数据用此方法接收
$post_str=json_decode($post_val, true);
$var_shebei_id=$post_str['shebei_id'];// 设备ID
echo "nohave|".$z_last_time;
exit;
如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!
txttool.com 说一段 esp56物联 查询128 IP查询