Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用ajax接口mysql和html:获取一个;“不正确的字符”;在控制台中_Php_Mysql - Fatal编程技术网

Php 使用ajax接口mysql和html:获取一个;“不正确的字符”;在控制台中

Php 使用ajax接口mysql和html:获取一个;“不正确的字符”;在控制台中,php,mysql,Php,Mysql,我正在尝试使用ajax脚本将mysql数据库与html页面连接起来。基于Adnan Afzal()的教程,我编写了一个php和一个html文件。但是,每次尝试运行页面时,我都会收到一个错误,告诉我位置1的第一个字符不正确: [...] var Country_name_en = data[a]['country_name_en']; [...] 这里是我的php的转储(称为data.php) $data = array(); while ($row = mysqli_fetch_objec

我正在尝试使用ajax脚本将mysql数据库与html页面连接起来。基于Adnan Afzal()的教程,我编写了一个php和一个html文件。但是,每次尝试运行页面时,我都会收到一个错误,告诉我位置1的第一个字符不正确:

[...]
var Country_name_en = data[a]['country_name_en'];
[...]

这里是我的php的转储(称为data.php)
$data = array();
while ($row = mysqli_fetch_object($result))
{
    array_push($data, $row);
}

echo json_encode($data);
exit();
这里是我的html页面的转储

<!DOCTYPE html>
<html>
  <head>
  </head>
  <body>
    <table>
    <tr>
    <th>id_country
    <th>Country_name_en
    <th>Country_name_fr
    </tr>
    <tbody id="data"></tbody>
    </table>

    <script>
    var ajax = new XMLHttpRequest();
    ajax.open("GET", "data.php", true);
    ajax.send();

    ajax.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
    var data = JSON.parse(this.responseText);

    var html = "";
    for(var a = 0; a < data.length; a++) {
    var id_country = data[a]['id_country'];
    var Country_name_en = data[a]['country_name_en'];
    var Country_name_fr = data[a]['country_name_fr'];        
    html += "<tr>";
    html += "<td>" + id_country + "</td>";
    html += "<td>" + Country_name_en + "</td>";
    html += "<td>" + Country_name_fr + "</td>";
    html += "</tr>";
    }
    document.getElementById("data").innerHTML += html;
    }
    };
    </script>
  </body>
</html>

非常感谢贡献者的帮助

我引用字段的语法不正确:

[...]
var Country_name_en = data[a]['country_name_en'];
[...]

我已相应地更正了上面的代码,以描述正确的情况。

检查浏览器开发人员控制台中的“网络”选项卡,查看GET请求返回的内容。文件
trial.txt
包含哪些内容?您向它写入
$returnValue
,但不确定设置在哪里。@NigelRen:谢谢。我刚刚意识到这一点。所以我去掉了这些线。不幸的是,它没有改变任何东西,我认为数据[a]。国家名称应该是数据[a]['Country\u name\u en'],国家名称也应该是数据[a]['Country\u name\u en'],只是简单观察一下。如果HTML在标记内,则应在标记内