jQuery JSON解析问题

时间:2011-05-19 17:14:37

标签: javascript jquery jsonp

需要一些建议我在客户端JSON解析期间做错了什么...提示和评论欢迎我的代码什么都不返回。调试器也没有显示任何有用的东西。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){                   
        var htmlString = "test";
    $.getJSON("http://search.twitter.com/search.json?callback=functionName&q=%23csharp", functionName);

    function functionName(data) {

            $.each(data.items, function(i,item){
            htmlString += item.content + "<br>";
            });
            $('#test').html(htmlString);
        }

    });
</script>

</head>
<body>
<div id="test"></div>

3 个答案:

答案 0 :(得分:6)

不要指定回调函数的名称。 jQuery会为你做这件事。处理JSONP请求的函数是专门构造的,允许您正常使用函数并提供其他有用的功能。

改为callback=?

$.getJSON("http://search.twitter.com/search.json?callback=?&q=%23csharp", functionName);

另一个问题是:

$.each(data.items, function(i,item){

你正在迭代data.items。这在响应中不存在。然后你要求item.content。这也不存在。我不知道你设计代码的JSON是什么,因为它不是JSON twitter发送的。

答案 1 :(得分:1)

您可以使用$.ajax()方法获取有关请求状态的更细粒度的反馈。

答案 2 :(得分:1)

尝试删除网址中的回调:

http://search.twitter.com/search.json?q=%23csharp