gpt4 book ai didi

php - 使用自定义 MVC 从 JQuery ajax()、PHP 和 MySQL 检索 JSON 数据

转载 作者:行者123 更新时间:2023-11-30 22:29:45 24 4
gpt4 key购买 nike

我一直在到处寻找,但一无所获。这就是我正在使用的:自定义 PHP MVC这就是我想要得到的:从 userView.php 我想用来自使用 JQuery 的 ajax 调用的 JSON 数据替换 id="ShowName"

这是我的:userController.php

if (isset($_POST['id'])) {
$this->getView('users', $this->object->getUser($_POST['id']));
}

userModel.php

public function getUser($id) {
$this->user = array();

parent::getConnection();
$this->sql = $this->dbh->query("SELECT * FROM User WHERE idUser='". $id ."'");
parent::errorHandler();
$this->results = $this->sql->fetch(PDO::FETCH_ASSOC);
$this->user[] = array(
'name' => $this->results['name'],
'lastname' => $this->results['lastname'],
'email' => $this->results['email']
);
$obj['user'] = $this->user;

parent::closeConnection();
header('Content-Type: application/json');
print json_encode($obj);

}

userView.php

<select class="form-control blue select" id="getUserID">
<option value="default">Seleccione un Usuario</option>
<?php $this->object->getUserslist();?>
</select>

<span id="name"></span>

userModel 中的方法 getUsersList()

public function getUsersList() {

parent::getConnection();
$this->sql = $this->dbh->query("SELECT * FROM User ORDER BY name ASC");
parent::errorHandler();
while($this->results = $this->sql->fetch(PDO::FETCH_ASSOC)) {
echo "<option value='" . $this->results['idUser'] . "'>" . $this->results['name'] . "</option>";
}
parent::closeConnection();

}

JQuery

$("#getUserID").change(function(){
var userID = $("#getUserID").val();
$.ajax({
type: 'POST',
url: 'user',
data: 'id='+userID,
dataType: 'json',
success: function(data){
var obj = $.parseJSON(data);
alert(obj.name)
}
});
});

它在 html 文件的最顶部检索 JSON 数据,但警报没有提示,所以我猜它在调用成功之前获取数据。

直接问题:如何从 PHP 检索 JSON 数据,以便在 JQUERY ajax 响应的 html 中使用它?

谢谢!!!!

最佳答案

在 userModel.php 中

改变

$this->user[] = array(
'name' => $this->results['name'],
'lastname' => $this->results['lastname'],
'email' => $this->results['email']
);
$obj['user'] = $this->user;

到:

$obj = array(
'name' => $this->results['name'],
'lastname' => $this->results['lastname'],
'email' => $this->results['email']
);

查看警报提示是否返回您所期望的。

关于php - 使用自定义 MVC 从 JQuery ajax()、PHP 和 MySQL 检索 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34186107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com