ajax渲染数据问题

数据是自己写的db.json然后用json-server运行的,ajax可以打印出来,渲染不上去
$(function(){

$.ajax({
    url:"http://localhost:3000/users",
    type:"get",
    data:{},
    dataType:"json",
    success: function(data){
        let str = "";
        for (var i = 0; i < data.length; i++) {
            console.log(data[0].name)
            str+="<tr>"
                    +"<td>data[i].name</td>"
                    +"<td>'+data[i].age+'</td>"
                    +"<td>'+data[i].phone+'</td>"
                    +"<td>'+data[i].email+'</td>"
                    +"<td>'+data[i].education+'</td>"
                    +"<td>'+data[i].profession+'</td>"
                  +"</tr>"
        };
        $('tbody').append(str)
    },
    error:function(data){
        alert('error')
    }
})

})

clipboard.png

阅读 3.3k
5 个回答

应该是字符串连接问题

str+="<tr>"+
                    "<td>" + data[i].name + "</td>" +
                    "<td>" + data[i].age + "</td>" + 
                    "<td>" + data[i].phone + "</td>" + 
                    "<td>" + data[i].email + "</td>" +
                    "<td>" + data[i].education + "</td>" +
                    "<td>" + data[i].profession + "</td>" +
                    "</tr>"
'<tr>\
    <td>'+data[i].name+'</td>\
    <td>'+data[i].age+'</td>\
    <td>'+data[i].phone+'</td>\
    <td>'+data[i].email+'</td>\
    <td>'+data[i].education+'</td>\
    <td>'+data[i].profession+'</td>\
  </tr>'

clipboard.png
标签不对

clipboard.png

clipboard.png

clipboard.png
<p id="tbody">欢迎000</p>


<script type="text/javascript">
$(document).ready(function () {
    
    $.ajax({
        url:"users.json",
        type:"get",
        data:{},
        dataType:"json",
        success: function(data){
             console.log(data.name);
             let str = "";
                str+="<tr>"+"<td>"+data.name+"</td></tr>";
                $('#tbody').html(str)
           } 
    })       
})

</script>

输出的是字符串呢

你这 append 的是字符串啊,应该用 innerHTML 吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏