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。Access-Control-Allow-Origin 不允许来源 http://fiddle.jshell.net 。

您可以使用本文了解 JSONP,但如果您不能修改此服务,则可以在您的网站中使用代理页面,

于 2013-02-07T17:00:24.073 回答