gpt4 book ai didi

php - jquery ajax 从 php 脚本中获取的值不超过一个

转载 作者:行者123 更新时间:2023-11-29 03:47:54 25 4
gpt4 key购买 nike

我尝试使用 jQuery ajax 调用通过 php 脚本检索一些数据。脚本从 mysql 表中获取列 'rezhour' 的所有值,这些值也基于 $_GET 变量。

然后他通过 json_encode() 函数打印所有找到的值

PHP:

<?php
header('Content-type: application/json');

$fromdate = $_GET['fromdate'];
$getrezhiredh = mysql_query("
SELECT rezhour FROM rezhiredhours
WHERE rezdate = '".$fromdate."' ORDER BY rezhour
");

$i=0;
$data = array();
while($row = mysql_fetch_array($getrezhiredh)){
$data['hours'][$i] = $row['rezhour'];
$i++;
}

$result = array(
$data
);
print json_encode($result);
?>

当从浏览器地址栏调用脚本时一切正常,我们得到如下正确结果:

[{"hours":["2","9","13","14"]}]

上面结果中的每个数字对应于选定的表格行。

问题是当我想通过 ajax 做同样的事情时。

jQuery:

<script>
var date = jQuery('input').val()
jQuery.ajax({
type: "GET",
dataType: "html",
data: "fromdate="+date,
url: "script.php",
success: function (data) {
console.log(data);
},
});
</script>

现在只有当 mysql 查询返回一行结果时一切正常,并且在控制台中看起来像这样:

[{"hours":["1"]}]

当mysql查询返回多行结果时,控制台显示:

[[]]

对我来说真的很奇怪,当我们有超过一行的选定数据时,jquery ajax 调用无法打印正确的结果。

我必须怎么做才能在 AJAX 中获得相同的结果?

编辑:

我发现了一条重要线索。问题是 MYSQL 查询中的 WHERE 子句。当您从查询中删除此子句时,php 脚本从整个表中返回数据,现在 ajax 可以将指定列中的所有选定值打印到控制台中。问题是我必须使用 WHERE 子句只加载网站选定日期之前的数据。知道怎么做吗?

最佳答案

如果要返回json数据,必须使用dataType:json。有效的数据格式是 data :{key:value},...

var date = jQuery('input').val();
jQuery.ajax({
type: "GET",
dataType: "json",
data: {fromdate : date },
url: "script.php",
success: function (data) {
console.log(data);
},
});

关于php - jquery ajax 从 php 脚本中获取的值不超过一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33949548/

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