【发布时间】:2015-09-14 08:48:53
【问题描述】:
我尝试将我的 mysql 数据库的内容获取到我的网站。 为此,我需要 Javascript 来处理数据。 问题是我只想使用 php 从数据库中获取数据。剩下的,我想处理一个ajax请求,但我不明白。 这是我的尝试:
这是database.php文件
<?php
$pdo=new PDO("mysql:dbname=markers;host=127.0.0.1","root","");
$stmt = $pdo->query("SELECT * FROM markers");
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($results);
?>
这是我对 ajax 请求的尝试:
$(function(){
$.ajax({
url: 'api.php',
data: "",
dataType: 'json',
success: function(data)
{
var id = data['id'];
var vname = data['desc'];
}
});
});
问题,我没有得到内容,我只是得到了未定义的回报。
对于大型数据库来说,这是一个好的解决方案吗?在用户的每次页面访问中,mysql - 语句都会被执行,整个 db 表会在 json 中编码以用于 ajax 请求。
谢谢:)
【问题讨论】:
-
从一张大表中选择所有内容绝对不是一个好主意。现在你应该调试你的 PHP 脚本是否返回数据。如果它返回,那么在 JS 部分你有 json 数据,所以你不能将它们作为数组访问。
-
PHP 脚本以 Json 格式返回数据,如下所示:
{"id":"1","desc":"Frankie Johnnie & Luigo Too","address":"939 W El Camino Real, Mountain View, CA","lat":"37.386337","lng":"-122.085823"}, -
你必须像数组一样阅读它。
-
好的,使用 ajax?但是如何?
-
首先我会在数据变量上执行 Console.log 以查看您得到的响应。它还返回一个对象而不是数组 IIRC,所以你应该做 data.id 而不是 data['id']
标签: javascript php jquery mysql ajax