使用.html()不显示JSON数据

时间:2017-06-23 06:40:13

标签: javascript php jquery json ajax

在发布此问题之前,我在这里搜索并得到了不同的答案,我认为它不符合我的需求。单击时我有一个按钮,将运行以下js脚本

$("#update-details-btn").on('click', function() {
        $.ajax({
            type: 'post',
            dataType: 'json',
            data: "confirmation="+get_data,
            url: '../for_update_details',
            success: function(data)
            {
                console.log(data);
                $('div#update_details_body').html(data.results);

这是容器

<div id="update_details_body" class="modal-body"></div>

数据来自php函数

$data['results'] = NULL;
 $results = "<div class='form-group'>";
 $results .= "<label for='document-type' class='col-sm-4 control-label'>Category</label>";
 $results .= "</div>";
 $data['results'] = $results;
 echo json_encode($data);

正如你从js中看到的那样,我做了一个console.log,它打印出data.results包含的内容,但是当我使用.html()放入容器时,没有任何反应。这可能是罪魁祸首?我正在对其他功能进行编码,但只有这部分不起作用

4 个答案:

答案 0 :(得分:1)

代码:

app.address().port

php code not chnage

答案 1 :(得分:0)

var data = $.parseJSON(data);

在成功功能中添加此功能。希望它有所帮助!

答案 2 :(得分:0)

从你的例子中我叮叮你不需要将数据解析为json。只需回显$results并以ajax成功绑定

$("#update-details-btn").on('click', function() {
        $.ajax({
            type: 'post',

            data: "confirmation="+get_data,
            url: '../for_update_details',
            success: function(data)
            {
                console.log(data);
                $('div#update_details_body').html(data);

PHP:

$data['results'] = NULL;
 $results = "<div class='form-group'>";
 $results .= "<label for='document-type' class='col-sm-4 control-label'>Category</label>";
 $results .= "</div>";
echo $results;

答案 3 :(得分:0)

在echo json_encode之前添加以下行:

Action