首页 > 解决方案 > 从 MySQL 检索数据到 JS 变量

问题描述

我的 index.php 文件:

<script>
var data;
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            data = this.responseText;
            console.log(data);                
        }
    };
    xmlhttp.open("GET", "getdata.php", true);
    xmlhttp.send();
</script>

我的 getdata.php 文件:

<?php

require 'connectdb.inc.php';

$query = "SELECT `name` FROM `tasks` WHERE `id`='1'";
$query_run = mysql_query($query);
$name= mysql_result($query_run,0);

echo $name;
?>

我正在获取我的数据,但问题是它使用我的数据添加了一个空的 html 文件结构,如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
</body>
</html>task1

你会发现'task1'写在最后,那是我的数据

请帮助我,我以前搜索过其他类似的问题,但我无法理解它们。谢谢。

标签: javascriptphpmysqlajax

解决方案


尝试这个:

索引.php:

$.ajax({
   url: "getdata.php",
   type: "POST",
   success: function (result) {
     var data = result.name;
     console.log(data);
   },
   dataType: 'json'
});

获取数据.php:

<?php

require 'connectdb.inc.php';

$query = "SELECT `name` FROM `tasks` WHERE `id`='1'";
$query_run = mysql_query($query);
$ajaxResponseArr["name"] = mysql_result($query_run,0);

exit(json_encode($ajaxResponseArr));
?>

推荐阅读