我是phonegap的新手,并尝试使用ajax构建一个从rails应用程序中提取数据的基本应用程序。以下是相关文件......
#www/index.html
<body>
<h1>Task List</h1>
<div class="page current" id="tasks">
<header>
<h1>Open Tasks</h1>
</header>
<ul></ul>
</div>
<script type="text/javascript" src="phonegap.js"></script>
<script type="text/javascript" src="js/zepto.min.js"></script>
<script type="text/javascript" src="js/tasks.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript">
app.initialize();
</script>
</body>
</html>
#www/js/tasks.js
function loadTasks() {
var tasks = $('#tasks ul');
$.ajax({
type: 'GET',
url: 'http://limitless-chamber-2009.herokuapp.com/tasks.json',
dataType: 'JSON',
timeout: 5000,
success: function(data) {
$.each(JSON.parse(data), function(i,item){
tasks.append('<li>'+item.name+'</li>')
});
},
error: function(data) {
tasks.append('<li>There was an error loading the tasks');
}
});
}
loadTasks();
当我在网络浏览器中加载index.html时,出现错误“加载任务时出错”。我知道有很复杂的方法来调试这个,但我是一个js和ajax noob,所以不知道要检查什么,但我愿意接受建议。任何帮助表示赞赏。
答案 0 :(得分:0)
要在Cordova / PhoneGap应用中使用此功能,请尝试设置白名单。
在./www/config.xml
中,将白名单设置为:
<access origin="limitless-chamber-2009.herokuapp.com" />
甚至
<access origin="*" />
要在您的网络浏览器中运行此功能,您需要在启用了网络安全功能的情况下启动Chrome:https://stackoverflow.com/a/6083677/878602