我有一個對象,即時通訊存儲在一個cookie中,然後獲取對象,並使用它的一些檢查,這是很好的,但除了問題我有的是Javascript的錯誤檢查,如果一個對象有一個屬性
if(!arr.hasOwnProperty($(this).val())){
在
$(".not").click(function() {
//alert($(this).val()+JSON.stringify(arr));
if(!arr.hasOwnProperty($(this).val())){
$.getJSON("<?php echo BASE_URL;?>json/startup/not", {id: $(this).val()}, function(json){
if(json.status == "OK"){
arr[json.data.id] = json.data.id;
arr = JSON.stringify(arr);
$.cookie('votedId', arr);
$('#percent'+json.data.id).html(json.data.percent);
$('#votes'+json.data.id).html(json.data.votes);
}
});
}else{
alert("Already voted on this startup!");
}
//alert($(this).val());
});
會發生什麼事是,我第一次做到這一點,它認識到它被傳遞由值沒有財產,並讓投票發生。然後,它不會讓它投票,因爲它應該。
但是,問題出在頁面上的其他元素上,他們可以投票,然後說第一個元素被投票後,傳入的id有一個屬性,儘管它不存在。如果我刷新頁面,它可以讓我投票。
僅僅因爲我覺得上面的解釋有點難以理解,我舉個例子吧。
我有很多東西的熱門投票或不投票。第一個ID是1,第二個是2,依此類推。我投票認爲1很熱,所以cookie和arr數組得到更新以擁有屬性1,所以它不能再被投票。然而,在此之後,所有其他事情都說他們也被投票過,即使他們沒有。所以現在我不能投票2.但是,如果我刷新頁面,它很好。但後來我必須刷新頁面,如果我想對元素3投票。
任何想法?
,你可以告訴ARR是什麼? – davidkonrad
這是一個JSON對象,只是跟蹤被投票的個人事物的ID。 – samuraiseoul