在我的PHP中,我从一个表中收集数据,并以JSON格式回显。
PHP:
<?php
include "bddata.php";
header('Content-type: application/json; charset=utf-8');
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql="SELECT * FROM categoria ORDER BY idcategoria ASC ";
$result=$conn->query($sql);
while($row=$result->fetch_assoc()){
$json[]=$row;
}
$data["data"]=$json;
//test variables to get in ajax
$data["idcategoria"] = $data["data"][0]["idcategoria"];
$data["nome_categoria"] = $data["data"][0]["nome_categoria"];
//echo $data["nome_categoria"];
//var_dump($data["data"][1]);
print json_encode($data);
$conn->close();
?>
此代码返回类似以下内容:
idcategoria "21"
nome_categoria "Hotel"
1
idcategoria "22"
nome_categoria "Mecanica"
//my test variables
idcategoria "21"
nome_categoria "Hotel"
JS:
function inicializarForm(data) {
var id;
var nome;
id = val(data["idcategoria"]);
nome = val(data["nome_categoria"]);
//$("#id").val(data["idcategoria"]);
//$("#nome").val(data["nome_categoria"]);
}
$.ajax({
url: "../php/busca.categoria2.php",
type: "ajax",
dataType: "json"
}).done(function(data) {
window.alert("entrei na funcao");
console.log(data)
inicializarForm(data)
console.log(nome);
return;
}).fail(function(jqXHR, textStatus) {
console.error(textStatus);
window.alert("Erro, tente novamente!");
console.log(textStatus);
}).always(function() {
});
在我的浏览器控制台中,我得到一个错误。
有人能告诉我可能会发生什么事吗?
初始用途:在控制台中记录idcategory
的值和category_name
。
实际用途:获取PHP JSON并设置一个交互式菜单,其中包含在数据库中注册的类别。
发布于 2018-06-10 12:09:52
这是我的代码版本。
PHP
<?php
include "bddata.php";
header('Content-type: application/json; charset=utf-8');
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql="SELECT * FROM categoria ORDER BY idcategoria ASC ";
$result=$conn->query($sql);
while($row=$result->fetch_assoc()){
$json[]=$row;
}
/*
$json = array(
0 => array(
'idcategoria' => 1,
'nome_categoria' => 'Category 1'
),
1 => array(
'idcategoria' => 2,
'nome_categoria' => 'Category 2'
),
);
*/
$data["data"]=$json;
print json_encode($data);
$conn->close();
HTML & JS
<html>
<head>
<title>Show data</title>
<script
src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
</head>
<body>
<ul id="menu">
</ul>
<script>
function inicializarForm(data) {
$.map(data, function(i) {
$("#menu").append("<li><a href='#categoria_"+ i.idcategoria +"'>"+ i.nome_categoria +"</a></li>");
});
}
$.ajax({
url: "categoria2.php",
type: "get",
dataType: "json"
}).done(function(data) {
window.alert("entrei na funcao");
console.log(data['data']);
inicializarForm(data['data']);
}).fail(function(jqXHR, textStatus) {
console.error(textStatus);
window.alert("Erro, tente novamente!");
console.log(textStatus);
}).always(function() {
});
</script>
</body>
</html>
您可以使用$.map()
或$.each()
jquery函数来循环从JSON返回的数据,这些数据已转换为javascript数组。
https://stackoverflow.com/questions/50776605
复制相似问题