首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用javascript从JSON动态检索信息

使用javascript从JSON动态检索信息
EN

Stack Overflow用户
提问于 2013-02-03 04:09:22
回答 2查看 96关注 0票数 0

我尝试从一个JSON对象中获取一系列字符串,并将它们连接成一个大字符串。对我来说,使用循环似乎很明显,在循环的每次迭代中添加每个新字符串。然而,当我实际插入它时,我得到了一些奇怪的错误。

代码语言:javascript
运行
复制
TypeError: data.posts[i] is undefined

我通常会假设它不能被这样命名(我是javascript的新手,所以我在很大程度上是基于合理的猜测),但奇怪的是:我打印到firebug的日志中包含了预期的信息。我可以忍受这个无法解释的错误,但它不会在网页上显示组合字符串。

代码语言:javascript
运行
复制
var data = JSON.parse(d);
var i = 0;
while(i <= data["posts"].length) {
    messages += "<b>" + data["posts"][i]['nickname']
             + ":</b> - " + data["posts"][i]['content'] + "<br>";
    i++;
    console.log(messages);
}
console.log(messages);
$('.post1').html(messages);

我到底错过了什么?

EN

Stack Overflow用户

发布于 2013-02-03 04:28:43

我建议使用for循环,并将整个返回数据块定义为一个单独的集合,例如数据。

并使用以下方法:

代码语言:javascript
运行
复制
$.ajax(
{
    // Post variable1 to url.
    type : 'post',
    url : 'urlToBackend,
    dataType : 'json',
    data : 
    {
        'variable1' : 'theValue'
    },
    success : function(data)
    {
        var message;
        var reply1;
        var reply2;

        for(var i = 0; i < data.length; i++)
        {
            reply1 = data[i].reply1FromBackend; // Assuming that reply1FromBackend was returned.
            reply2 = data[i].reply2FromBackend; // Assuming that reply2FromBackend was returned.

            message += reply1;
            message += reply2;
        }
        // do something
    },
    complete : function(data)
    {
        // do something
    }
});

所以你只需要确保url是有效的,后端可以对variable1做些什么,并且后端回显reply1FromBackend和replyFromBackend,如下所示:

代码语言:javascript
运行
复制
// Receive the posted variable's value if it is set.
$variable1= isset($_POST['variable1']) ? $_POST['variable1'] : false;

// ... do something

$json[] = array
(
    'reply1FromBackend' => 'yo',
    'reply2FromBackend' => 'sup'
);
echo json_encode($json);
flush();

这有帮助吗?

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14665984

复制
相关文章

相似问题

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