php - 使用 json_encode 将数据从 php 传递到 javascript 问题

标签 php mysql json

我有点迷失为什么我无法传递数据
JavaScript

jQuery.extend({
getValues: function(url) {
    var result = null;
    $.ajax({
    url: url,
    type: 'get',
    dataType: 'json',
    async: false,
    success: function(data) {

        result = JSON.stringify(data);

    }
return result;

我的js部分没有问题,问题是php

$sql = "SELECT name, score FROM scores ORDER BY score DESC LIMIT 10 ";
$result = mysqli_query($conn1, $sql);
if (mysqli_num_rows($result) > 0) {
$data = array(); 
while ($row = mysqli_fetch_assoc($result)) {
    $data[] = array("name"=>$row['name'], "score"=>$row['score']);
    $post_data = json_encode(array($data));
}
echo $post_data;
}

如果我在 while 循环内回显发布数据,则回显发布数据不会给出任何结果,我会为 while 循环的每次迭代得到结果。如果我 print_r 数据数组,我也会得到某种结果。我的问题是我做错了什么?
感谢您的回答,我确实从循环中取出了发布数据,该数据确实制作得很差,但真正的问题是其中一个名称是俄语字母表,而数据库的结果不是 utf-8

最佳答案

在 while 循环后写入 $post_data = json_encode(array($data));,否则每次迭代都会覆盖 $post_data

while ($row = mysqli_fetch_assoc($result)) {
    $data[] = array("name"=>$row['name'], "score"=>$row['score']);
}
$post_data = json_encode(array($data));
echo $post_data;

我不希望这能解决您的核心问题,但您确实问过“我做错了什么”。

让我们知道在循环之后、json_encode() 之前使用 var_export($data); 得到的结果。我们需要看看数据和结构是什么样的。

关于php - 使用 json_encode 将数据从 php 传递到 javascript 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45450177/

相关文章:

java - 如何通过改造解析 JSON 数组

php - 调整图像大小以完全适合尺寸(Codeigniter)

mysql - 如何在MySQL复制中使用replicate-*-db?

php - 将当前日期存储在数据库中

c# - jqgrid 未捕获类型错误 : Cannot read property 'stype' of undefined

json - 在 Swift 中获取 JSON

php - 来自具有一个公共(public)键的两个其他数组的新数组。有什么优化技巧吗?

php - 如果数量表中不存在 Laravel 显示表产品

php - 将 PHP 数组输出到无序列表

具有多种连接可能性的连接更新 MySQL