Php 如何通过ajax将mysql结果作为jSON传递
我不知道如何通过ajax JSON将mysql查询结果传递到html页面。 ajax2.phpPhp 如何通过ajax将mysql结果作为jSON传递,php,jquery,mysql,ajax,json,Php,Jquery,Mysql,Ajax,Json,我不知道如何通过ajax JSON将mysql查询结果传递到html页面。 ajax2.php $statement = $pdo - > prepare("SELECT * FROM posts WHERE subid IN (:key2) AND Poscode=:postcode2"); $statement - > execute(array(':key2' => $key2, ':postcode2' => $postcode)); // $row = $sta
$statement = $pdo - > prepare("SELECT * FROM posts WHERE subid IN (:key2) AND Poscode=:postcode2");
$statement - > execute(array(':key2' => $key2, ':postcode2' => $postcode));
// $row = $statement->fetchAll(PDO::FETCH_ASSOC);
while ($row = $statement - > fetch()) {
echo $row['Name']; //How to show this in the html page?
echo $row['PostUUID']; //How to show this in the html page?
$row2[] = $row;
}
echo json_encode($row2);
如何通过下面的ajax将上述查询结果传递到html页面中显示
我的阿贾克斯
$("form").on("submit", function () {
var data = {
"action": "test"
};
data = $(this).serialize() + "&" + $.param(data);
$.ajax({
type: "POST",
dataType: "json",
url: "ajax2.php", //Relative or absolute path to response.php file
data: data,
success: function (data) {
//how to retrieve the php mysql result here?
console.log(data); // this shows nothing in console,I wonder why?
}
});
return false;
});
您的json编码应该如下所示:
$json = array();
while( $row = $statement->fetch()) {
array_push($json, array($row['Name'], $row['PostUUID']));
}
header('Content-Type: application/json');
echo json_encode($json);
在javascript部分,您不必做任何事情来获取数据,它存储在来自success函数的datavar中。
您可以在网页上显示它并使用它做任何您想做的事情在ajax成功函数中,您可以使用JSON.parse(数据)来显示JSON数据 以下是一个例子: 在你的剧本中:
$("form").on("submit",function() {
var data = {
"action": "test"
};
data = $(this).serialize() + "&" + $.param(data);
$.ajax({
type: "POST",
dataType: "json",
url: "ajax2.php", //Relative or absolute path to response.php file
data: data,
success: function(data) {
console.log(data);
if(data.type == "success"){
for(var i=0;i<data.data.length;i++){
//// and here you can get your values //
var db_data = data.data[i];
console.log("name -- >" +db_data.Name );
console.log("name -- >" +db_data.PostUUID);
}
}
if(data.type == "error"){
alert(data.data);
}
}
});
return false;
});
$(“表单”)。在(“提交”,函数()上{
风险值数据={
“操作”:“测试”
};
data=$(this.serialize()+“&”+$.param(data);
$.ajax({
类型:“POST”,
数据类型:“json”,
url:“ajax2.php”,//response.php文件的相对或绝对路径
数据:数据,
成功:功能(数据){
控制台日志(数据);
如果(data.type==“成功”){
对于(var i=0;i,您可以将json编码的字符串保存到数组中,然后将其值传递给javascript
请参阅下面的代码
<?php
// your PHP code
$jsonData = json_encode($row2); ?>
因为数据
变量是字符串,所以不需要它
在您的ajax2.php
文件中,您可以通过
json_decode($_REQUEST['data'])
我只是
$rows = $statement->fetchAll(FETCH_ASSOC);
header("content-type: application/json");
echo json_encode($rows);
然后在javascript端:
xhr.addEventListener("readystatechange",function(ev){
//...
var data=JSON.parse(xhr.responseText);
var span=null;
var i=0;
for(;i<data.length;++i){span=document.createElement("span");span.textContent=data[i]["name"];div.appendChild(span);/*...*/}
}
xhr.addEventListener(“readystatechange”,函数(ev){
//...
var data=JSON.parse(xhr.responseText);
var span=null;
var i=0;
对于(;I选中console中的“网络”选项卡。@sgtBOSE,相关文件的状态为“确定”响应是什么?我是否必须明确定位此行的“标题”('Content-Type:application/json')某处?因为我的代码中显然有错误,尽管您显式显示了代码,但它没有输出任何内容!!!!这不是强制性的。只需将data=JSON.parse(data)放在ajax成功函数中。它会工作的。
json_decode($_REQUEST['data'])
$rows = $statement->fetchAll(FETCH_ASSOC);
header("content-type: application/json");
echo json_encode($rows);
xhr.addEventListener("readystatechange",function(ev){
//...
var data=JSON.parse(xhr.responseText);
var span=null;
var i=0;
for(;i<data.length;++i){span=document.createElement("span");span.textContent=data[i]["name"];div.appendChild(span);/*...*/}
}