0

jquery json リーダーを動作させることができないようです。私は次のコードを使用しています(jqueryのドキュメントのflickrの例から適応):

<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>

</head>
<body>
<div data-role="page" id="ScheduleDay">
    <div data-role="header">
        <a href="#HomePage" data-icon="home" data-direction="reverse">Home</a>      
        <h1 id="ScheduleDayText">Schedule</h1>
    </div>
    <div data-role="content">   
        <ul data-role="listview" id="ScheduleList" data-autodividers="true">
       </ul>
    </div>
</div>
<script>
$(document).on("pageinit", "#ScheduleDay", function(){
    $.getJSON("http://oregonffa.com/EventMaster/WebService/ScheduleEvents.php",
    function(data){
        $.each(data, function(i,item){
            $("ul#ScheduleList").append('<li time="' + item.StartTime + '"><a href="javascript:viewScheduleEvent(' + item.ScheduleID + ')">' + item.Name + '</a></li>');
        });
        $("ul#ScheduleList:visible").listview('refresh');
    });
});
</script>
</body>
</html>

json フィードを正しく読み取っていないようです。何が起こっているかを示すためにjsfidleを作成しました。

いつものように、コード内の何かを見落としていると確信していますが、どこで/何を私の人生で理解することはできません。

編集: json フィードが正しく解析されることを指摘しておく必要があります。次に例を示します。

[{"ScheduleID":"1","StartTime":"3:30 PM","Name":"Registration Opens"},{"ScheduleID":"2","StartTime":"3:30 PM","Name":"State Creed Speaking Order Drawing"},{"ScheduleID":"3","StartTime":"4:30 PM","Name":"State Creed Public Speaking"},{"ScheduleID":"4","StartTime":"7:00 PM","Name":"Opening Session"}]
4

1 に答える 1

1

このために別のホストから JSON を取得することはできません。jQuery で JSONP を使用する必要があります。

次のエラーを示すコンソールの例

XMLHttpRequest はhttp://oregonffa.com/EventMaster/WebService/ScheduleEvents.phpを読み込めません 。オリジン http://fiddle.jshell.netは Access-Control-Allow-Origin で許可されていません。

この記事を使用して JSONP について読むことができますが、このサービスを変更できない場合は、Web サイトでプロキシ ページを使用できます。

于 2013-02-07T17:00:24.073 に答える