ai didi

jquery - 从 CouchDB 解析 JSON 时如何绕过 "total_rows"

转载 作者:行者123 更新时间:2023-12-01 03:03:20 24 4
gpt4 key购买 nike

我使用以下 jQuery 代码从 CouchDB 获取 JSON 文件。

Function getURL() {
var api_url = 'http://127.0.0.1:5984/couchcontentqueue/_design/DocCollections/_view/view_all_by_url_name?key="favorite-flickr-photos"&?callback=?';

$.getJSON(api_url, function(json) {
var type = json.type;
var desc = json.description;
$("#dropBox h3").html(type);
$("#dropBox p").html(desc);
});
};

当我对该 URL 执行 GET 操作时,它会返回以下内容:

{
"total_rows":6,
"offset":5,
"rows":[
{"id":"f5ba37e5af406ab079d596f7a1f30a2d","key":....}
]
}

Firebug 给我以下错误:无效标签 http://127.0.0.1:5984/couchcontentqueue/_design/DocCollections/_view/view_all_by_url_name?key=%22favorite-flickr-photos%22&?callback=jsonp1304111285023第 1 行

我不知道如何越过第一行来获取实际的 JSON 对象。有任何想法吗?谢谢。

最佳答案

?callback=

看起来您正在尝试执行 JSONP 请求,但是:

{"total_rows":6, ...

是一个普通的 JSON 响应,而不是 JSONP 调用。如果您不想执行跨域 JSONP 请求,请删除 callback 参数并让 jQuery 将响应解析为普通 JSON。

如果您确实需要执行跨域 JSONP 请求,并且您了解其安全风险,请确保您使用的是最新的 CouchDB 版本并添加指令:

allow_jsonp = true

[http] 部分中的 .ini 文件。

invalid label

是当您尝试执行/eval包含 JSON 对象的字符串时得到的结果。 {"x": "foo"} 中的 "x" 被视为 JavaScript '标签'(很少用于 > continue 语句)在语句 block 中,而不是对象字面表达式中的对象属性名称。

当 jQuery 认为您正在执行 JSONP 请求时,它将使用脚本执行而不是 JSON 解析。在 URL 中添加“callback=”参数会神奇地让它这样认为。

关于jquery - 从 CouchDB 解析 JSON 时如何绕过 "total_rows",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5837476/

24 4 0
文章推荐: angular - 使用 Angular 8 使用 Formbuilder Typescript 在 View 中切换 FormControl
文章推荐: jquery - Peity Sparklines , 定制
文章推荐: python - 在 numpy 中,如何判断我的代码在哪里给出了 exp 溢出?
文章推荐: javascript - 在条件为真时操作其他元素,Reactjs jsx
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com