JQuery __proto__阵列弄乱了GET请求?

时间:2018-04-29 03:11:54

标签: jquery

我使用JQuery GET请求从在单独的本地服务器上运行的RScript获取数据(使用plumber)。如果我console.log数据,它会返回它应该的样子,但它也会返回一个" __ proto __"包含(看起来像什么)50个随机函数的数组(下面的代码段是console.log' d,其中__Proto__折叠了)。

0:{Name: "Frank", Salary: 9800}
1:{Name: "Danny", Salary: 7700}
2:{Name: "Charlie", Salary: 5000}
3:{Name: "Ian", Salary: 4800}
4:{Name: "DJ", Salary: 4300}
5:{Name: "Logan", Salary: 4300}
6:{Name: "Jorge", Salary: 3800}
7:{Name: "Salvador", Salary: 3700}
8:{Name: "Jason", Salary: 3600}
9:{Name: "Chet", Salary: 3000}
length:10
__proto__: Array(0)

当我尝试将其中一个名称添加到我的网页时,它可以正常工作:

$orders.append('<li>Name: ' + orders[0].Name + '</li>')返回&#34; Frank&#34;

但是当我尝试发布所有名称时,它会附加几个&#34;名称:undefined&#34;:

$.each(orders, function(i, order) {
                $orders.append('<li>P: ' + order.Name + '</li>');
            });

是否有明显的问题我对$.each函数(我对前端内容不熟悉)做错了,或者它与&#34; __ proto __&#34有关;阵列?完整代码:

$(function (){

    var $orders = $('#orders');

    $.ajax({
        type: 'GET',
        url: 'my/API/URL',
        dataType: 'json',
        success: function(order) {
            // console.log('Success', order);
            $.each(orders, function(i, order) {
                $orders.append('<li>P: ' + order.PlayerName + '</li>');
            });
            // $orders.append('<li>P: ' + orders[0].Name + '</li>');
        },
        error: function(){
            console.log('Error you jabroni');
        }

    })
})

谢谢!

1 个答案:

答案 0 :(得分:1)

您应该将's'添加到params成功。因为您预先orders,而不是order

应该是:

success: function(orders) {
    // console.log('Success', orders);
    $.each(orders, function(i, order) {
        $orders.append('<li>P: ' + order.Name + '</li>');
    });
},