gpt4 book ai didi

javascript - 带有 JSON 返回的 AJAX 请求未响应我的预期行为

转载 作者:行者123 更新时间:2023-11-29 18:01:05 28 4
gpt4 key购买 nike

我正在尝试编写一个 ajax 调用来检查我的数据库并在发现更改时更新一个 div。

我对 JavaScript 比较陌生,对 JSON 的东西更陌生。

我认为问题在于我如何返回 JSON 数组,或者它在 if 语句中的使用方式,但我不确定如何正确执行。我得出这个结论是基于这样一个事实:我从成功函数“连接并执行了 PHP 页面...”而不是“更新的票证页面...”日志中获得了控制台日志返回。

这是我的 JavaScript:

function checkUpdates()
{
$.ajax({
type: "POST",
url: 'ajax/checkDB.php',
data: {},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
console.log('Connected and executed PHP page...');
if (data.hasChanged == true) {
console.log('Updated Tickets Page...');
$("#contents").load("dynamic/tickets.php");
$("#contents").fadeTo("fast", 1);
}
}
});
}

$(document).ready(function() {
setInterval("checkUpdates()", 3000); // Calls the function every 3 seconds
});

如果重要的话,这是我的 PHP(checkDB.php,在 ajax 请求中调用)。

<?php
include("../static/config.php");
session_start();

header("Content-Type: text/json");

$result = mysqli_query($con,"SELECT notify FROM tickets WHERE notify='0'");
$row_cnt = mysqli_num_rows($result);

if($row_cnt > 0) {
echo json_encode(array('hasChanged' => 'true'));
mysqli_query($con,"UPDATE tickets SET notify='1' WHERE notify='0'");
} else {
echo json_encode(array('hasChanged' => 'false'));
}


?>

最佳答案

您有打字错误错误。您可以更改不带字符串的 php 代码或更改 if 条件。

//changes made here
if (data.hasChanged == "true") {

PHP

if($row_cnt > 0) {
//here you are having string "true"
echo json_encode(array('hasChanged' => 'true'));
mysqli_query($con,"UPDATE tickets SET notify='1' WHERE notify='0'");
} else {
echo json_encode(array('hasChanged' => 'false'));
}

关于javascript - 带有 JSON 返回的 AJAX 请求未响应我的预期行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34950163/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com