Javascript 每次循环 JSON 时只获取第一个元素?

2023-12-02

我使用的是 Jquery mobile,因此请忽略以下一些过度的 css,它与核心问题无关。

我在循环 JSON 数据包/javascript 对象中的“Places”时遇到问题。我收到多个“地点”的响应,但似乎不知道如何迭代它们。我的每个循环中的“i”变量对于第一个元素正常工作,并显示其相应的名称和图像。

这是我的服务器端 Django 视图(如果您不熟悉 Python,则非常简单):

def tonight_mobile(request):

    callback = request.GET.get('callback', '')

    def with_rank(rank, place):
        return (rank > 0)

    place_data = dict(
        Places = [make_mobile_place_dict(request, p) for p in Place.objects.all()]
    )

    xml_bytes = json.dumps(place_data)
    return HttpResponse(xml_bytes, content_type='application/json; charset=utf-8')

我的服务器正在确认请求并返回以下内容:

"GET /api/0.1/tonight-mobile.json&callback=jsonp1293142434434 HTTP/1.1" 200 167

这是我的回应:

callback({"Places": [{"url": "http://localhost:8000/api/0.1/places/3.plist", 
"image_url": "http://localhost:8000/static/place_logos/Bengals_1.png", 
"name": "Bob's Place", "events": 2}, 
{"url": "http://localhost:8000/api/0.1/places/2.plist", 
"image_url": "http://localhost:8000/static/place_logos/Makonde_Mask.gif", 
"name": "My Bar", "events": 0}, 
{"url": "http://localhost:8000/api/0.1/places/1.plist", 
"image_url": "http://localhost:8000/static/place_logos/Quintons_1.png", 
"name": "Quinton's", "events": 1}]})

------------

我的 getJSON 和回调方法已经演变成这样:


each()不是这样的。它获取页面上的一组元素,并循环遍历它们,为每个元素调用一个函数。在这种情况下,您正在循环$("#tonight-list"),其中只有一项(ID 应该唯一标识文档中的一个元素)。

你似乎想要做的是循环data(不是#tonight-list元素),并将数据添加到该元素,对吗?在这种情况下,您希望普通的 JavaScript 执行循环,如下所示:

var list = $("#tonight-list");
for (var i=0, place; place=data.Places[i]; ++i) {
    list.append("<li role='option' tabindex='" + i + "'>" + place.name + "</li> ...etc);
}

请注意,我不知道您是否正在加载包含 HTML、不可信纯文本等的可信数据。您可能需要在插入数据之前对数据进行编码,或者(更好)按结构插入数据而不是连接字符串,具体取决于您的情况用例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript 每次循环 JSON 时只获取第一个元素? 的相关文章

随机推荐

  • while 循环确定输入的值是否为 double

    我正在做一个相当大的项目 这只是包含在其中 基本上 我创建了一个获取员工信息的类 我们需要它 以便用户必须输入双倍的工资率 说 8 点 注意用户不能添加美元符号 例如 8 00 否则会提示用户发生错误 然而 当我测试运行代码时 代码没有使用
  • 如何格式化 Ansible 输出

    我想格式化 Ansible 输出 my local SUCCESS rc 0 gt gt 116G my local2 SUCCESS rc 0 gt gt 116G to my local gt gt 116G my local2 gt
  • 服务器如何因 chmod 777 而变得容易受到攻击?

    我经常读到类似这样的文章 chmod 777 很糟糕 我想知道 当我执行时我如何变得脆弱chmod 777在一个文件上 我可以重现的真实世界示例是什么 It 允许文件系统内容查看和 或修改由任何人 假设攻击者已经具有通用系统访问权限 这在共
  • 如何在Python中以指定位数的二进制字符串形式返回数字

    可能是一个愚蠢的问题 但是在 python 中是否有一种简单的方法可以自动用零将数字填充到固定长度 我在 python 文档中找不到这个 但我可能还不够努力 e i 我希望 bin 4 返回 00100 而不仅仅是 100 是否有一种简单的
  • 确定 WPF RichTextBox 中选定的 InlineUIContainer

    我想确定 WPF RichTextBox 中当前插入符位置是否存在 InlineUIContainer 或 BlockUIContainer 目前我有一个 RichTextBox 如下
  • Message内部逻辑

    我试图找出其中的逻辑Message行为 考虑评估以下内容 On Sin 1 1 评估完以上内容后 您将得到大约 830 Messages in 数学 7 所有这些Messages在生产过程中出现了 Sin argx Sin called w
  • 正则表达式 - 匹配后面没有特定模式的字符

    我想要一个正则表达式 尽可能高效 因为我使用 C 并且引擎效率不高 来匹配任何包含 且不立即跟随的字符串 1 一个字母 a zA Z or 2 NUMBERS a zA Z or 3 数字 a zA Z 所以我想匹配这样的字符串 dsfdf
  • C++ 中的 fseek 函数会刷新缓冲区中的数据吗?

    我们知道 调用 fprintf 或 fwrite 等函数不会立即将数据写入磁盘 而是会缓冲数据直到达到阈值 我的问题是 如果我调用 fseek 函数 这些缓冲数据会在查找新位置之前写入磁盘吗 或者数据仍在缓冲区中 并写入新位置 cheng
  • Qt中线程间通信的实现

    我在实现以下场景时遇到问题 我的问题陈述是这样的 我有 3 个线程 ThreadCamera 用于从相机中抓取帧 用于处理帧的 ThreadProcess 使用 OpenCV 对捕获的图像 帧进行一些图像处理 和用于显示图像的主 GUI 线
  • 如何将图像源设置为哈巴狗模板中的变量?

    在创建电影信息平台时 我想打印图像海报 我无法将图像的来源设置为 pug 中的变量 each movie in movies col md 3 style margin bottom 20px text center img src mov
  • 如何从浏览器意图获取授权令牌?

    抱歉我的英语不好 我会尽力尽可能简单地解释我的问题 我正在尝试制作一个与 Yandex API 配合使用的应用程序 在他们的帮助页面上 我读到您应该从用户登录的应用程序启动浏览器 然后通过注册 URI 回调返回到应用程序 我现在拥有的 Ov
  • Magento 错误:模块“Mage_Api”需要模块“Mage_Core”

    我的生产站点无缘无故地消失了 我知道我安装的最后一个扩展 但那是三天前的事了 我在每个页面上都收到此错误 a 4 i 0 s 46 Module Mage Api requires module Mage Core i 1 s 702 0
  • 有人可以帮助解释为什么不使用 SQL JOIN 是不好的做法和错误吗? [复制]

    这个问题在这里已经有答案了 可能的重复 显式与隐式 SQL 连接 SQL JOIN USING ON 或 WHERE 之间有区别吗 我正在检查由不太熟悉 SQL 的开发人员维护的代码 我在他的代码中经常看到如下片段 SELECT FROM
  • 找不到“System.IdentityModel.Tokens.UserNameSecurityToken”令牌类型的令牌身份验证器。

    我正在尝试让第三方 Java 客户端与我编写的 WCF 服务进行通信 收到消息时出现以下异常 无法找到令牌验证器 System IdentityModel Tokens UserNameSecurityToken 令牌类型 代币 根据当前的
  • Java修改map内的关键对象

    我在使用 JAVA 地图时遇到问题 我在地图中输入一个对象作为键 然后我修改了键 地图不再将该对象视为地图的键 即使对象内部的键已被相应修改 我正在处理该对象CoreLabel来自斯坦福自然语言处理 但我猜它适用于一般情况 Map
  • 如何显示直接从Figure类创建的matplotlib图形?

    如何显示不是使用 pyplot pylabfigure 创建而是直接从 matplotlib 的Figure 类构建的图形 import matplotlib as mpl figure mpl figure Figure figure s
  • Firefox 在 CORS 资源上失败,而 Chrome 和 Safari 可以工作

    我有一个看似正确的资源 由 CouchDB 安装支持 使用 JS Axios 发出请求 Chrome 和 Safari 都可以工作 Firefox 65 0 却失败了 CORS header Access Control Allow Ori
  • 语法错误:“无法分配给函数调用”

    这行 invest initial amount top company 5 year year 1 subsequent amount 产生错误 SyntaxError can t assign to function call 如何解决
  • 如何在Android中通过FFmpeg解码音频

    我正在使用为 Android NDK 编译的 FFmpeg 编写一个 Android 播放器 我可以通过 FFmpeg 打开该文件并写道 av register all char str env gt GetStringUTFChars e
  • Javascript 每次循环 JSON 时只获取第一个元素?

    我使用的是 Jquery mobile 因此请忽略以下一些过度的 css 它与核心问题无关 我在循环 JSON 数据包 javascript 对象中的 Places 时遇到问题 我收到多个 地点 的响应 但似乎不知道如何迭代它们 我的每个循