-1

我得到服务器的响应:

{'data':['29/10/2009','13/04/2009','19/10/2009','07/04/2009','20/05/2009','27/02/2010',
'20/04/2009','16/06/2009','15/12/2009','22/06/2009','21/09/2009','28/07/2009',
'19/01/2009','14/05/2010','30/03/2009','06/04/2009','21/01/2010','10/03/2009',
'17/09/2009','09/04/2009','27/10/2009'.....]}

我想得到这个日期数组并将其放入 JS 数组中:

                success: function(response){    
                intObj = response.responseText;
                for(var i in intObj) {
                    console.log(i);
                    if(intObj.hasOwnProperty(i) /*&& !isNaN(+i)*/) {

                        dateArray[+i] = intObj[i];
                    }
                }
            }

但是在我的数组中得到结果:

["\r", "\n", "\r", "\n", "\r", "\n", "\r", "\n", "\r", "\n", "\r", "\n", "\r", "\n",
"\r", "\n", "\r", "\n", "\r", "\n", "{", "'", "d", "a", "t", "a", "'", ":", "[", "'", 
"2", "9", "/", "1", "0", "/", "2", "0", "0", "9", "'", ",", "'", "1", "3", "/", "0", 
"4", "/", "2", "0", "0", "9", "'", ",", "'", "1", "9", "/", "1", "0", "/", "2", "0", 
"0", "9", "'", ",", "'", "0", "7", "/", "0", "4", "/", "2", "0", "0", "9"...]

如何仅将日期放入数组中?像这样'29/10/2009','13/04/2009','19/10/2009','07/04/2009']

4

5 回答 5

3

您需要将字符串解析为 JSON:

var result = JSON.parse(response.responseText);

然后您可以直接获取数组:

var array = result.data;
于 2013-06-16T13:25:57.440 回答
2

您必须使用JSON.parse()。我相信您需要使用responseText属性,它将响应作为字符串返回。

var jsonObject = JSON.parse(response.responseText);
var dataArray = jsonObject.data;
于 2013-06-16T13:26:31.807 回答
1

响应是一个对象

var array = response.data;

响应是一个字符串

将其转换为对象:

var response = JSON.parse(response);
于 2013-06-16T13:30:31.677 回答
0

您必须解析结果。

var arrayOfDates = JSON.parse(response.responseText).data;
于 2013-06-16T13:27:03.490 回答
-1

尝试使用

var intObj = eval("(" + response + ");");
for (var i in intObj.data) {
        console.log(i);
        if(intObj.hasOwnProperty(i) /*&& !isNaN(+i)*/) {
             dateArray[+i] = intObj[i];
        }
}
于 2013-06-16T13:31:09.930 回答