在我的Web应用程序上,用户可以单击一个按钮以查看自己喜欢的地方。在列表下方,有一个按钮可以输入其他收藏夹。如果他们喜欢,就可以正常工作,我可以看到列表。如果添加第二个收藏夹,则似乎AJAX根本不执行。之所以可以使用click事件,是因为我在ajax之外做了console.log
。但是我的名单是空的!
我也尝试过$('#favoritePlaces').click(function(e){
,但结果相同。
使用HTML和AJAX查看收藏夹:
<div id="homeMenu" hidden="hidden">
<div class="pvBtn menuBtn" id="favoritePlaces">Favorite Places</div>
<div class="pvBtn menuBtn" id="recentPaths">Recent Paths</div>
</div>
<div id="favoritesWrapper" hidden="hidden"> </div>
<script>
var favoritesArray = [];
$(document).on('click', '#favoritePlaces', function(e){
$.ajax({
url: 'https://pppp/accesspathweb/getfavorites.php',
type: 'POST',
dataType:"json",
data: {
acctid: localStorage.getItem('uacctid')
},
success: function(data){
var favoritesString;
if(JSON.stringify(data).includes('gf001')){
$('#myFavs').prepend('<h2>Enter Your Favorite Places To Quickly Access Them Later</h2>');
} else{
favoritesString = null;
var s = 0;
for(var f in data){
if(favoritesString == null){
favoritesString = '<div class="favoritesList" id="favorites' + s + '">' + data.name + '</div>';
} else{
favoritesString = favoritesString + '<div class="favoritesList" id="favorites' + s + '">' + data.name + '</div>';
}
favoritesArray.push(data.address);
s++;
}
$('#favoritesWrapper').html(favoritesString); document.getElementById('navigationWrapper').setAttribute('hidden', 'hidden');
document.getElementById('favoritesWrapper').removeAttribute('hidden');
}
},
error: function(errmsg){
console.log(errmsg);
},
cache: false
});
document.getElementById('homeMenu').setAttribute('hidden', 'hidden');
//$('#myFavs').removeAttr('hidden');
document.getElementById('myFavs').removeAttribute('hidden');
});
</script>
如果您需要更多信息,请告诉我。谢谢!