gpt4 book ai didi

javascript - PHP 数组上的 json_encode 返回一个字符串

转载 作者:行者123 更新时间:2023-11-30 07:38:32 24 4
gpt4 key购买 nike

我搜索了整个站点,但没有看到与我的问题很相似的问题,所以我希望这不是副本。

所以我有一个 PHP 脚本,它应该向我的 AJAX 返回一个 JSON 数组,我想使用该数组生成一个 URL。

但是,尽管我很确定我在 PHP 端有一个数组,但当我进行 json_encode 时,我在另一端得到了一个简单的字符串。

PHP 代码:

    $n = 10;
$all_titles = array();

while($row = mysqli_fetch_array($result)) {
$title = trim($row['Job Title']);
if(array_key_exists($title, $all_titles)) {
++$all_titles[$title];
} else {
$all_titles[$title] = 1;
}
}

arsort($all_titles);
$top_titles = array_slice($all_titles, 0, $n);
$title_list = array();

foreach (array_values($top_titles) as $key => $val) {
array_push($title_list, array_keys($top_titles)[$key]);
}
echo json_encode($title_list);

根据我所做的其他测试,这些数组操作到目前为止似乎有效,所以我很确定 $title_list 是一个数组。

这是我的 JS:

    xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
alert("Generated URL: " + URL_gen(xmlhttp.responseText));
}
}

最后是问题出现的地方:

function URL_gen(list) {
var url = list[2];
return url;
}

我改变了 list[#] 中的数字(list[0]、list[1] 等),每个都是一个字符,表示列表(从 onreadystatechange 作为响应文本从 PHP 函数传入above) 是一个字符串,而不是一个 JSON 数组。

有什么建议吗?

最佳答案

这就是它的作用。返回一个字符串。您需要在客户端对其进行解析。

alert("Generated URL: " + URL_gen(JSON.parse(xmlhttp.responseText)));

关于javascript - PHP 数组上的 json_encode 返回一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23940710/

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