我似乎无法让我的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 feed。我创建了一个jsfidle来显示正在发生的事情。
我确信像往常一样,我忽略了代码中的某些内容,但我无法弄清楚我的生活在哪里/什么。
编辑: 我应该指出json feed确实正确解析。这是一个例子:
[{"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"}]
答案 0 :(得分:1)
你不能从其他主机获取JSON,你必须在jQuery中使用JSONP
在示例控制台中显示以下错误
XMLHttpRequest无法加载 http://oregonffa.com/EventMaster/WebService/ScheduleEvents.php。起源 {}不允许http://fiddle.jshell.net 访问控制允许来源。
您可以使用this文章来阅读有关JSONP的内容,但如果可以,请修改此服务,然后您可以在您的网站中使用代理页面,