我正在使用以下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);
});
};
Run Code Online (Sandbox Code Playgroud)
当我在该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对象.有任何想法吗?谢谢.
?回调=
看起来您正在尝试执行JSONP请求,但是:
{"total_rows":6,...
是一个简单的JSON响应而不是JSONP调用.如果您不打算执行跨域JSONP请求,请删除该callback参数并让jQuery将响应解析为普通JSON.
如果您确实需要执行跨域JSONP请求,并且了解其安全风险,请确保使用最新的CouchDB版本并添加指令:
allow_jsonp = true
Run Code Online (Sandbox Code Playgroud)
到该[http]部分的.ini文件.
标签无效
当你尝试执行/ eval包含JSON对象的字符串时,你会得到什么.这是JS解析的一个怪癖,它在语句块"x"中{"x": "foo"}被视为JavaScript'标签'(很少用于continue语句),而不是对象文字表达式中的对象属性名称.
当jQuery认为您正在执行JSONP请求时,它将使用脚本执行而不是JSON解析.在你的网址中使用'callback ='参数会让人觉得这样.
| 归档时间: |
|
| 查看次数: |
1264 次 |
| 最近记录: |