如何在javascript中访问JQuery“POST”方法的返回对象?

时间:2013-06-06 23:10:41

标签: javascript jquery jquery-post

我有一个返回值

的JQuery“POST”方法

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

Ajax方法:

$.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

任何人都可以向我解释这个错误意味着什么吗?

还有如何访问返回对象的值?

2 个答案:

答案 0 :(得分:1)

response将是您发布的数组。它没有data属性,所以当你寻找它时,它将不可避免地被找到!只需遍历数组:

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

答案 1 :(得分:1)

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

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

但是你试图迭代 response.data

您的$.each将对此对象起作用

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