当前位置: 首页 > 面试题库 >

使用jQuery获取JSON数据返回无效标签错误

西门品
2023-03-14
问题内容

我有这段代码,并且还尝试过使用$ .getJson函数进行类似的操作:

jQuery(document).ready(function(){
    var kiva_url = "http://api.kivaws.org/v1/loans/newest.json";

    jQuery.ajax({
        type: "GET",
        url: kiva_url,
            data:"format=json", 
        success: function(data){
            alert("here");
            jQuery.each(data.loans, function(i, loan){
                jQuery("#inner_div").append(loan.name + "<br />");
            });
        },
        dataType: "jsonp",
        error: function(){
            alert("error");
        }
    });

});

当我查看Firebug时,它返回“无效标签”错误。我搜索了一些人提到的使用解析器解析结果的信息。我可以在Firebug中看到结果。有人可以指出我应该做什么的例子吗?

Firebug错误:

无效标签
http://api.kivaws.org/v1/loans/newest.json?callback=jsonp1249440194660&_=1249440194924&format=json&
第1行

可以在以下位置找到json的示例输出:http :
//build.kiva.org/docs/data/loans


问题答案:

好吧,我找到了答案……看起来kiva不支持jsonp,这是jquery在这里做的-

http://groups.google.com/group/build-
kiva/browse_thread/thread/9e9f9d5df821ff8c

…我们没有计划支持JSONP。支持此方法会提倡不良的安全实践,并且已经存在一些从JavaScript访问数据的好的方法,可以保护您的应用程序和用户。这是一篇很棒的文章:

http://yuiblog.com/blog/2007/04/10/json-and-browser-
security/

虽然由于我们仅处理公共数据,所以现在对Kiva贷方的风险很小,但允许通过脚本标签导入私人贷方数据的风险却越来越大。我们认为,风险(以及创建安全应用程序所增加的复杂性)对开发人员而言并不值得。

为所需的提要编写服务器端代理是访问基于浏览器的应用程序中数据的最常见解决方案。使用iFrame还可以使用其他技巧。最好的希望是新型的基于客户端的技术/标准,它们将使基于浏览器的JavaScript安全地访问跨域资源(
http://dev.w3.org/2006/waf/access-control/
http://
json.org/JSONRequest.html)。某些工具(例如BrowserPlus和Gears)可让您立即使用这些工具,但是一段时间后您将无法依赖它们。

最后一点,我要指出的是,在JavaScript中使用JSON响应的任何人都应在将eval()应用于它之前,显式解析JSON或验证JSON。看这里:

http://www.JSON.org/js.html

该页面的链接是建议的ECMAScript JSON解析器接口JSON.parse()的很好的参考实现。

欢呼声



 类似资料:
  • 问题内容: 我正在尝试通过jQuery ajax调用获取数据。 我的代码如下所示: 我的文件返回的是json格式的数据,但某些文本为Unicode格式。我在我的javascript文件上及其上设置了字符集,但仍然无法访问响应的数据对象。 有任何想法吗? 问题答案: 尝试加入您的ajax调用:

  • 问题内容: 我不确定是否有任何方法可以这样做,但是如果有一个简单的解决方案,这将解决我的很多问题。 我需要/想要做的是在我的ajax请求成功后返回HTML和JSON。原因是,我想请求一个文件并返回该页面的所有内容,但是我还希望能够从json页面中返回指定的一组信息,因此我可以将其用于其他用途。 这就是我现在正在做的: 这就是我想要做的: 在返回的页面上,我将指定标题名称。(例如,如果是个人资料,我

  • 本文向大家介绍jQuery通过Ajax返回JSON数据,包括了jQuery通过Ajax返回JSON数据的使用技巧和注意事项,需要的朋友参考一下 服务端PHP读取MYSQL数据,并转换成JSON数据,传递给前端Javascript,并操作JSON数据。本文将通过实例演示了jQuery通过Ajax向PHP服务端发送请求并返回JSON数据。 JSON(JavaScript Object Notation

  • 问题内容: 我通过按下按钮来调用此函数… Firebug显示我得到了这个JSON响应(我知道这是有效的)[为清楚起见,被截断了] Firebug显示错误“无效标签 https://test.com/incident.do?JSON&callback=jsonp1279049933243&sysparm_action=getRecords 第1行 我怎样才能解决这个问题?谢谢! 问题答案: 您的响应

  • 问题内容: 这是我从foursquare获得的JSON的一部分。 JSON格式 我需要获取最后的提示 文本 ,编写它的 用户 以及他编写/发布它的 日期 。 用户 :达米尔·P。 日期 :1314115358 文字 :健身中心 我尝试使用 JQuery ,这可以获取非数组值: 但这不适用于数组。 结果 :未捕获的TypeError:无法读取未定义的属性“文本”。 我也尝试了 $ .each ,但没

  • get标签 标签: <get></get> 作用:特殊标签,SQL查询标签 用法示例A: <get sql="SELECT * FROM cms_article WHERE status=99 ORDER BY inputtime DESC" page="$page" num="5"> .. HTML ..</get> 用法示例B: <get table="article" status="