从ajax载入数据库细节
我正在尝试一些非常简单的东西,但无法使其工作,我不知道为什么。我试图从数据库加载引导模态窗口的细节,所以我可以编辑它们。我的按钮看起来像从ajax载入数据库细节
<button onclick="GetUserDetails('.$row['row_id'].')" class="btn btn-warning">Update</button>
那么这是应该加载数据
include("../../misc/database.inc.php");
error_reporting(E_ALL);
ini_set('display_errors', 1);
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if(isset($_POST['row_id']) && isset($_POST['row_id']) != "") {
$row_id = $_POST['row_id'];
$value = $pdo->prepare('SELECT row_id, row_content, row_email FROM excel_table WHERE row_id = ?');
$value->bindParam(1, $id, PDO::PARAM_INT);
$value->execute();
$response = array();
if($value->rowCount() > 0){
while ($rs = $value->fetch(PDO::FETCH_ASSOC)) {
$response = $row;
}
}
else
{
$response['status'] = 200;
$response['message'] = "Data not found!";
}
echo json_encode($response);
//var_dump($_POST['row_id']); // return correct id
}
在控制台 - >网络我看到正确答案PHP的一部分
{ “ROW_ID”: “1”,“row_content”:“asd”,“row_email”:“sad”}
这是js部分加载数据
function GetUserDetails(row_id) {
$("#row_id").val(row_id);
$.post("ajax/readUserDetails.php", {
row_id: row_id
},
function (data, status) {
// PARSE json data
var excel_table = JSON.parse(data);
// Assing existing values to the modal popup fields
$("#row_content").val(excel_table.row_content);
$("#row_email").val(excel_table.row_email);
}
);
// Open modal popup
$("#update_user_modal").modal("show");
}
这是我的模式
<div class="modal fade" id="update_user_modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Update</h4>
</div>
<div class="modal-body">
<div class="form-group">
<label for="row_content">Desc</label>
<input type="text" id="row_content" placeholder="Описание" class="form-control"/>
</div>
<div class="form-group">
<label for="row_email">Email</label>
<input type="text" id="row_email" placeholder="Email" class="form-control"/>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-primary" onclick="UpdateUserDetails()" >Save Changes</button>
<input type="hidden" id="row_id">
</div>
</div>
</div>
</div>
谁能告诉我,为什么模态不填充数据?
以及我的猜测是你需要显示ajax异步调用结束后的模态。
function GetUserDetails(row_id) {
$("#row_id").val(row_id);
$.post("ajax/readUserDetails.php", {
row_id: row_id
},
function (data, status) {
// PARSE json data
var excel_table = JSON.parse(data);
// Assing existing values to the modal popup fields
//add console.log to make sure you have some value
console.log('row_content: ' + excel_table.row_content);
$("#row_content").val(excel_table.row_content);
$("#row_email").val(excel_table.row_email);
// then add another to make sure you update it correctly.
console.log('#row_content: ' + $("#row_content").val());
// Open modal popup AFTER YOU UPDATE
$("#update_user_modal").modal("show");
}
);
}
同样的结果。在控制台中的数组响应是正确的{row_id:“1”,row_content:“asd”,row_email:“sad”}'但模态是空的 –
我没有提到它,但我使用本教程,我已经改变了它因为我想实现pdo ...等:http://www.itechempires.com/2016/03/php-mysql-crud-create-read-update-delete-operations-using-jquery/ –
尝试与console.log看看发生了什么。但是您应该查看视频以了解如何调试。 –
是,按钮提交'ROW_ID:1'和响应'{ “ROW_ID”: “1”, “row_content”: “ASD”, “row_email”: “可悲的”}' –
你调试码? –
我试过我所知道的。到目前为止,看看我发送和接收的按钮点击。还有什么我可以调试? –