我正在尝试使用导航创建一个索引,点击后会通过ajax加载页面而不是转到另一个html
这是我的javascipt:
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
function getPage(){
$.ajax({
type: 'post',
url: 'places.html',
success: function(html)
{
$("#response").fadeIn("slow");
$("#response").html(html);
}
});
return false;
}
</script>
我有一个调用此
的href<a href="" onclick="getPage();">get page</a>
这适用于xampp本地主机但似乎在phonegap中生成错误
Uncaught ReferenceError: $ is not defined at file:///android_asset/www/index.html:129
这是$ .ajax所在的行
答案 0 :(得分:1)
您必须等到设备准备好进行ajax呼叫。
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
function getPage(){
$.ajax({
type: 'post',
url: 'places.html',
success: function(html)
{
$("#response").fadeIn("slow");
$("#response").html(html);
}
});
return false;
}
}
答案 1 :(得分:1)
好的ajax最后工作需要完整的文件地址并将其放入documentready
$.ajax({
type: 'post',
url: 'file:///android_asset/www/.html/places.html',
success: function(html)
{
$("#response").fadeIn("slow");
$("#response").html(html);
}
});
我发现的另一种方法是
$("#getProfile").click(function() {
var ajax = new XMLHttpRequest();
ajax.open("GET","file:///android_asset/www/places.html",true);
ajax.send();
ajax.onreadystatechange=function(){
if(ajax.readyState==4 && (ajax.status==200||ajax.status==0)){
var theHTML = ajax.responseText;
document.getElementById('response').innerHTML = theHTML;
}
}
});
感谢Malek的帮助