首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >函数不添加到数组中。

函数不添加到数组中。
EN

Stack Overflow用户
提问于 2014-06-16 00:43:54
回答 1查看 214关注 0票数 0

我看过其他类似的问题,但到目前为止似乎没有一个问题是完全适用的。

我正在尝试从数据库中获取数据生成一个字符串,并将其推入Pickachoose jquery库的数组中,该库需要JSON,如下所示:

代码语言:javascript
复制
var a = [
  {"image":"../../1.jpg","caption":"Any donation is appreciated. PikaChoose is free to use!","link":"http://pikachoose.com","title":"Image 1"},
  {"image":"../../2.jpg","caption":"Be sure to check out <a href=\"http://www.pikachoose.com\">PikaChoose.com</a> for updates.","link":"http://pikachoose.com","title":"Image 2"},
  {"image":"../../3.jpg","caption":"You can use any type of html you want with PikaChoose","link":"http://pikachoose.com","title":"Image 3"}
 ];
$(".pikachoose").PikaChoose({data:a});

如果我那样硬编码的话,上面的代码就能工作了。

但是,我使用以下代码从mySQL数据库获取数据:

代码语言:javascript
复制
    var a = [];

    $.getJSON("search.cfc?method=x&returnformat=json&queryformat=column",{"id":id},function(res,code){
         for (var i = 0; i<res.ROWCOUNT; i++) {
              var img = res.DATA.IMAGE[i].toLowerCase();
              var cap = res.DATA.CAPTION[i].toLowerCase();
              var lnk = res.DATA.LINK[i].toLowerCase();
              var ttl = res.DATA.TITLE[i].toLowerCase(); 
              var str = '{"image":"' + img + '","caption":"' + cap + '","link":"' + lnk + '","title":"' + ttl + '"}';  
              // str gives, e.g., {"image":["/images/website/retailers/logos/78/serena.jpg"],"caption":["ghsf"],"link":["jhghdfghd"],"title":["rtetuye"]}
              a.push(str); // problem here; doesn't push the string
         }

 });

所以基本上数组没有被推到。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-16 00:48:27

您应该推送对象而不是字符串。将var str = ...更改为

代码语言:javascript
复制
var str = {
    "image": img,
    "caption": cap,
    "link": lnk,
    "title": ttl
}; 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24235388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档