Php 使用ajax从数据库加载详细信息

Php 使用ajax从数据库加载详细信息,php,mysql,ajax,Php,Mysql,Ajax,我正在尝试一些非常简单的东西,但无法使它工作,我不知道为什么。我正在尝试从数据库加载引导模式窗口的详细信息,以便编辑它们。我的纽扣看起来像 <button onclick="GetUserDetails('.$row['row_id'].')" class="btn btn-warning">Update</button> 在控制台->网络上,我看到正确的响应 {“行id”:“1”,“行内容”:“asd”,“行电子邮件”:“sad”} 下面是应该加载数据的js部分 fu

我正在尝试一些非常简单的东西,但无法使它工作,我不知道为什么。我正在尝试从数据库加载引导模式窗口的详细信息,以便编辑它们。我的纽扣看起来像

<button onclick="GetUserDetails('.$row['row_id'].')" class="btn btn-warning">Update</button>
在控制台->网络上,我看到正确的响应

{“行id”:“1”,“行内容”:“asd”,“行电子邮件”:“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">&times;</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");
        }
    );     
}

是的,在按钮提交
行id:1
和响应
{“行id”:“1”,“行内容”:“asd”,“行电子邮件”:“sad”}
您调试了代码吗?我已经尝试了我知道的。到目前为止,请点击按钮查看我发送和接收的内容。我还能调试什么?我是说你知道问题出在哪里吗?我们无法为您调试代码。你问
为什么modal没有填充数据?
,然后检查填充数据的位置。我相信问题出在js部分,因为查询很好,没有错误。这意味着下一步将从js解析为modal。结果相同。控制台中的数组响应是正确的{row_id:“1”,row_content:“asd”,row_email:“sad”}但是模态是空的,我没有提到它,但是我使用了本教程,我已经对它做了一些更改,因为我想实现pdo。。。etc:尝试使用console.log查看发生了什么。但是你应该查看视频来了解如何调试。我有这个
行内容:asd#行内容:asd
好的,我有想法了。如果
#行内容:asd
您的模式不应为空
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");
        }
    );     
}