我需要兩個服務器變量只在db中的var變化之後加載。如何僅在特定事件之後加載服務器變量?
現在,它們會在加載頁面時立即加載,因此在事件之前保留它們的值(upvotesRef.transaction
)。
$('.HP').text("<%= post.upvotes - post.downvotes %> HP");
CODE:
$('.UpvoteButton').click(function() {
var $this = $(this);
if ($this.hasClass("on")) {
$this.removeClass("on");
upvotesRef.transaction(function (upvotes) {
if (!upvotes) {
upvotes = 0;
}
upvotes = upvotes - 1;
return upvotes;
});
userRef.remove();
$('.HP').text("<%= post.upvotes - post.downvotes %> HP");
編輯:
我結束了創建局部變量來解決我的問題。謝謝您的回答 !
var upvotesLocal = <%= post.upvotes %>;
var downvotesLocal = <%= post.downvotes %>;
$('.UpvoteButton').click(function() {
var $this = $(this);
if ($this.hasClass("on")) {
$this.removeClass("on");
upvotesRef.transaction(function (upvotes) {
if (!upvotes) {
upvotes = 0;
}
upvotes = upvotes - 1;
return upvotes;
});
upvotesLocal = upvotesLocal -1
userRef.remove();
$('.HP').text((upvotesLocal - downvotesLocal) + " HP")
你有沒有想過使用AJAX來獲取更新的變量? – Dez
@Dez我會怎麼做?我對AJAX並不是很有經驗。你可以使用AJAX發佈解決方案作爲答案,我可以接受它嗎? – Coder1000
檢查有關jQuery AJAX對node.js的調用:https://stackoverflow.com/questions/5373987/how-to-use-jquery-ajax-calls-with-node-js,除了我提供的答案。 – Dez