0

我有一个 json 提要,我目前正在使用 ajax 来尝试获取以列表格式显示的数据。我以前从未使用过 json 提要,因此必须从这些论坛中学到很多东西。

目前数据变得不确定,不知道为什么。现在我知道 json 提要是跨域的,所以需要 jsonp 和一个回调函数,而不是 url 中的一个。

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JSONP test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
</head>

<body>
<div id="content"></div>
<script type="text/javascript"> 
function loadgatewayJSON() {

$.ajaxSetup({ 
        global  : true, 
        dataType: 'jsonp', 
        jsonp   : 'callback',
        cache   : true,
        data: {eventTypeId:1}, 
        ajaxStart: function(){
            //$('#content').hasClass('loading');
        },
        complete: function(){ 
             //$('#content').removeClass('loading');
        }
        });

    $.ajax({

        url: '(my url for feed)',
                   success: function(data, status) { 
                        $('#content').empty();  
                        var numResults = data.length;
                        alert(data);
                        for (var i=0;i < numResults;i++) {                              
                            $('#content').append("<p>"+data[0].eventCount+"</p>");

                        };

                   },
                   error:function (xhr, ajaxOptions, thrownError){ 
                    alert("An error has occured");
                    alert(xhr.status); 
                    alert(xhr.responseText); 
                } 
        });
};
loadgatewayJSON();
</script>
<div id="content"></div>
</body>
</html>

我只是想知道是否有人可以发现我在代码中所做的任何错误,原因是它导致未定义。我真的只是想要一个事件列表。我希望这里有人可以帮助我。

更新:

我现在已经提取了提要,但正在努力提取 json 提要中的数据。

我需要拉的东西是

“名称”“开始日期”“结束日期”“事件类型”

我以为是:

$('#content').empty();  
var data = name.event;

alert(data);
for (var i=0;i < numResults;i++) {                              
$('#content').append('+data[0].events+');

可悲的是,所有这些都显示了 +data[0].events+ 加载次数

更新:

感谢对此的修复,遗憾的是似乎没有显示任何内容,所以假设它是我正在使用的措辞。

    "status": "success",
        "eventCount": 681,
        "events": [
            {

"baseUrl":                 
"pageUrl":                                 
"name":                 
"owner":        
"startDate":                 
"startTime":                 
"endDate":                 
"endTime": 

这些是提要 ID,可以使用此代码提取信息

success: function(data, status) { 
                    $('#content').empty();  
                    var data = data.name;
                    alert(data);
                    for (var i=0;i < data;i++) {                                
                        $('#content').append(data[0].events);

                    };

好的 2 个问题中的 1 个已修复,非常好。今天至少没有浪费。也非常感谢您的帮助:)

4

1 回答 1

0

你做错了, $('#content').append('+data[0].events+');

你应该做的 $('#content').append(data[0].events);

'+data[0].events+'被视为字符串,输出如预期。

于 2012-08-09T09:36:53.287 回答