$.ajax()获取后台数据
等一个人
等一个人 2019-03-06 14:41:57
[PHP讨论组]

html:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<?php header("content-type:text/html;charset=utf-8");?>

<script src="jquery-3.2.1.min.js"></script>

</head>

<body>

<form action="PDO_insert.php" method="post">

Name: <input type="text" name="name" id="name"/>

<input type="submit" value='查询' id="btn"/>

</form>

<script type="text/javascript">

        var name=document.getElementById('name').value;

$("#btn").on("click", function () {

$.ajax({

type: "POST",

url: "PDO_insert.php",//url放的是当前页面请求的后台地址。

data:{name:name},

async:false,

dataType: "json", 

success: function (data) {

var result=data;

//var result = eval('[' + data + ']');

alert(result);

},

error: function () {

alert("请求失败!");

}

});

});

</script>

</body>

</html>



<?php 


$host = 'localhost';

$database = 'test';

$username = 'root';

$password = 'root';

$selectName = $_POST['name'];

$pdo = new PDO("mysql:host=$host;dbname=$database", $username, $password);//创建一个pdo对象

$pdo->exec("set names 'utf8'");//设置数据库编码

$sql = "select * from user where name = ?";

//$sql = "select * from user";

$stmt = $pdo->prepare($sql);

$rs = $stmt->execute(array($selectName));


if ($rs){

// PDO::FETCH_ASSOC 关联数组形式

// PDO::FETCH_NUM 数字索引数组形式

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

global $name,$age;

$name = $row['name'];

$age = $row['age'];

}

}

$data='{name:"'.$name.'",age:"'.$age.'"}';

echo json_encode($data);   //打印出:"{name:\"1\",age:\"1\"}"

?>

为什么每次获取的都是前一次查询的数据?

等一个人
等一个人

全部回复(1)
三言

你这是相当于两次查询,第一次是form查询,第二次是ajax查询,你把<input type="submit" value='查询' id="btn"/>这个放form外面试试

  • 回复 我试过,PHP代码就不会执行了
    等一个人 作者 2019-03-06 17:13:10
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号