0

私は現在 ajax を使用してリスト形式で表示されるデータを取得しようとしている json フィードを持っています。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 に答える