Javascript 以编程方式将一些td附加到tr-jqueryajaxjson

Javascript 以编程方式将一些td附加到tr-jqueryajaxjson,javascript,jquery,html,json,ajax,Javascript,Jquery,Html,Json,Ajax,我一直在寻找使用jQuery将td附加到tr到表中的某种方法,而不知道我的json响应,此时我已经做到了: function getClientes(){ $.ajax({ url:URL_BASE+"Cliente", type:"GET", beforeSend: function (xhr) { xhr.setRequestHeader ("Authorization", "Basic " + btoa("hola" + ":" + "hol

我一直在寻找使用jQuery将td附加到tr到表中的某种方法,而不知道我的json响应,此时我已经做到了:

function getClientes(){
    $.ajax({
    url:URL_BASE+"Cliente",
    type:"GET",
    beforeSend: function (xhr) {
        xhr.setRequestHeader ("Authorization", "Basic " + btoa("hola" + ":" + "hola"));
    },
    success: function (data){
            $.each(data,function(index,value){
                $('<tr>').append(
                    $.each(value,function(value,celda)
                    {
                        $('<td>').text(celda);
                    })                      
            ).appendTo('#table');
            })
        }
    });     
}
函数getClientes(){ $.ajax({ url:url_BASE+“客户”, 键入:“获取”, 发送前:函数(xhr){ xhr.setRequestHeader(“授权”、“基本”+btoa(“hola”+:“+”hola”); }, 成功:功能(数据){ $.each(数据、函数(索引、值){ $('')。追加( $.each(值,函数)(值,celda) { $('').text(塞尔达); }) ).appendTo(“#table”); }) } }); } 问题是我得到的.html输出如下:

<table id="table" class="table table-condensed">
   <tr></tr>
   <tr></tr>
</table>


因此,这不是将td附加到tr,我不想手动附加它们我知道这样做很容易,但这对我来说更好,请帮助:D用以下代码替换您的代码:

function getClientes(){
    $.ajax({
    url:URL_BASE+"Cliente",
    type:"GET",
    beforeSend: function (xhr) {
        xhr.setRequestHeader ("Authorization", "Basic " + btoa("hola" + ":" + "hola"));
    },
    success: function (data){
            $.each(data,function(index,value){
                $('tr').append(
                    $.each(value,function(value,celda)
                    {
                        $('td').text(celda);
                    })                      
            ).appendTo('#table');
            })
        }
    });     
}

我认为它会起作用。

我想您需要像下面这样追加数据,首先创建一个表行,然后使用选择器
$('tr:last')

var数据=[[“你好”,“A”],[“hiii”,“B”],[“嘿”,“C”]]
$.each(数据、函数(索引、值){
$(“#表”)。追加(“”)
$.each(值,函数)(值,celda)
{
$('tr:last')。追加(''+celda+'');
})                   
})

请参见此笔:

我使用数组“map”操作符而不是jQuery的$。each

在函数中,当您执行
$('').text(celda)
在每个$.each()交互中,VM只执行此指令,而不存储/返回要添加到最终生成的HTML元素集中的结果

因此,您的函数可能如下所示:

函数getClientes(){ $.ajax({ url:url_BASE+“客户”, 键入:“获取”, 发送前:函数(xhr){ setRequestHeader(“授权”、“基本”+btoa(“hola”+:“+”hola”); }, 成功:功能(数据){ data.map(值=>{ var elements=value.map(子值=>{ 返回$('').text(子值); }); 返回$('')。追加(元素); }).appendTo(“#table”); } })
}最后,我创建了一行,并在每个循环中手动附加它,这不是最好的答案,但它对我很有效,谢谢你的所有答案:D

function getClientes(){
$.ajax({
url:URL_BASE+"Cliente",
type:"GET",
beforeSend: function (xhr) {
    xhr.setRequestHeader ("Authorization", "Basic " + btoa("hola" + ":" + "hola"));
},
success: function (data){
        $.each(data,function(index,value){
        var row = $("<tr/>");                

                $.each(value,function(value,celda)
                {
                   row.append($('<td>').text(celda));
                });                      
        $('#table').append(row);
        })
    }
});     
}
函数getClientes(){ $.ajax({ url:url_BASE+“客户”, 键入:“获取”, 发送前:函数(xhr){ xhr.setRequestHeader(“授权”、“基本”+btoa(“hola”+:“+”hola”); }, 成功:功能(数据){ $.each(数据、函数(索引、值){ 变量行=$(“”); $.each(值,函数)(值,celda) { 行追加($('').text(celda)); }); $(“#表”)。追加(行); }) } }); }
仅更改tr不适用的内容。
返回$('').text(celda)?在每个内部追加一个字符是没有意义的。每个都不返回任何内容。如果您映射并返回一个元素集合,这将是有意义的。