首页 > 解决方案 > 如何计算ajax成功的数据?

问题描述

php中,我发送arrayajax前端:

echo json_encode($totSaved);

然后在前端我做:

...
 success: function(data) {
  setTimeout(function(){ 
    console.log(data);
    console.log(data.length);
...

安慰:

console.log(data); = ["128545","128545"]

console.log(data.length); = 19

它应该给我2,我做错了什么?

标签: javascriptjquery

解决方案


结果是19它似乎data是一个字符串,而不是一个数组。因此,您需要解析它,您可以使用以下方法JSON.parse()

success: function(data) {
  setTimeout(function() { 
    var arr = JSON.parse(data);
    console.log(arr);
    console.log(arr.length);
  }, /* timeout delay */); 
});

如果您总是期待 JSON 响应,您可以改为将dataTypeAJAX 请求设置中的属性设置为'json'. 这样 jQuery 就会为你解析响应。


推荐阅读