我在我的應用程序中有一個最喜歡和不喜歡的功能,我正在使用jQuery。該功能部分起作用。頁面被加載,當我點擊'收藏'按鈕(它位於add_favourite_div元素內部)時,它發送XHR請求並將該帖子設置爲收藏夾。然後,一個名爲「remove_favourite_div」的新div將替換它的位置。現在,當我單擊remove favorite(它是remove_favourite_div的一部分)時,它會在xhr內發送一個正常的http請求。點擊unfavourite按鈕使用Rails和jQuery的Ajax請求問題
<div id="favourite">
<div id="remove_favourite_div">
<form method="post" id="remove_favourite" action="/viewpost/remove_favourite">
<div style="margin: 0pt; padding: 0pt; display: inline;">
<input type="hidden" value="w873BgYHLxQmadUalzMRUC+1ql4AtP3U7f78dT8x9ho="
name="authenticity_token">
</div>
<input type="hidden" value="3" name="Favourite[post_id]" id="Favourite_place_id">
<input type="hidden" value="2" name="Favourite[user_id]" id="Favourite_user_id">
<input type="submit" value="UnFavourite" name="commit"><br>
</form>
</div>
</div>
在我的application.js後
當網頁被加載結構首次
<div id="favourite">
<div id="add_favourite_div">
<form method="post" id="add_favourite" action="/viewpost/add_favourite">
<div style="margin: 0pt; padding: 0pt; display: inline;">
<input type="hidden"
value="w873BgYHLxQmadUalzMRUC+1ql4AtP3U7f78dT8x9ho="
name="authenticity_token">
</div>
<input type="hidden" value="3" name="Favourite[post_id]"
id="Favourite_place_id">
<input type="hidden" value="2" name="Favourite[user_id]" id="Favourite_user_id">
<input type="submit" value="Favourite" name="commit"><br>
</form>
</div>
</div>
DOM,我有兩個功能觸發XHR請求
$("#add_favourite").submit(function(){
alert("add favourite");
action = $(this).attr("action")
$.post(action,$(this).serialize(),null,"script");
return false;
});
$("#remove_favourite").submit(function(){
alert("remove favourite");
action = $(this).attr("action");
$.post(action,$(this).serialize(),null,"script");
return false;
});
在這裏,當帖子最初不是最喜歡的,最喜歡的對接on顯示,當我點擊按鈕時,$(「#add_favourite」)。submit被調用,並且不正確的窗體顯示正確,但現在當我點擊不喜歡的按鈕時,$(「#remove_favourite」)。submit不會被調用。
整個場景是真實的這兩種方式,我的意思是favourite-> Unfavourite和Unfavourite->喜愛
有人可以幫我解決這個 感謝