2

我有一个返回值的 JQuery“POST”方法

对象: [{"in_approved":0, "out_approved":0},{"in_approved":1, "out_approved":2}]

阿贾克斯方法:

$.ajax({
        data: {
                "start_date" : startDate,
                "end_date" : endDate
        },
        url: "/admin/analytics",
        type: 'POST',
        dataType: 'json',
        success: function(response)
        {

            // Accessing returned object

        },
        error : function(request, status, thrownError){
            alert("Error");
            return;
                }
    });

现在,要访问我正在使用的返回对象

$.each(response.data, function(index,row){
   var in_approved = row.in_approved; 
  alert(in_approved); // just to see if the value is being stored in the variable.
});

但是当我这样做时,我得到一个错误:

Uncaught TypeError: Cannot read property 'length' of undefined

谁能向我解释这个错误是什么意思?

另外如何访问返回对象的值?

4

2 回答 2

1

response将是您发布的数组。它没有data属性,所以找的时候难免找不到!只需遍历数组:

$.each(response, function(index,row){
于 2013-06-06T23:13:28.970 回答
1

response是一个对象数组。所以你需要将它作为一个数组进行迭代。

$.each(response, function(index,row){

但是您正在尝试迭代response.data

$.each将在这个对象上工作

data : [{"in_approved":0, "out_approved":0},{"in_approved":1, "out_approved":2}]
于 2013-06-06T23:18:05.307 回答