jQuery的AJAX项目无法重装后点击重装、项目、jQuery、AJAX

2023-09-10 14:19:01 作者:对风说我爱你

我使用的Django的

I am using django

在身挡

<div id="tag_like">
    {% if liked %}
      <img id="unlike" title="unlike" src="{{ STATIC_URL }}pic/bad.png" />
    {% else %}
      <img id="like" title="like" src="{{ STATIC_URL }}pic/good.png" />
    {% endif %}
</div>

在on_ready脚本块:

In the on_ready script block:

$.ajaxSetup({
  data: {csrfmiddlewaretoken: '{{ csrf_token }}'},
});
$('#like').click(function() {
   $.post("{% url 'likevideo' %}", {uid:{{ login_id }}, videoid:"{{ videoid }}"}, function(data,status){
      $('#tag_like').load(' #tag_like')
   });
});
$('#unlike').click(function() {
   $.post("{% url 'unlikevideo' %}", {uid:{{ login_id }}, videoid:"{{ videoid }}"}, function(data,status){
      $('#tag_like').load(' #tag_like')
   });
});

在第1次点击图像它工作正常。(转向其他图像) 但是,当再次点击它,没有AJAX的动作发生。我读

It works fine at the 1st time you click the image.(turned to the other image) But when click it again, no ajax action happens. I read

Refresh使用jQuery和AJAX 在Django一个div

Refresh a div in Django using JQuery and AJAX

jqgrid使用触发器做一个AJAX调用后不能重装('重装')

Adding jQueryUI的按钮来动态添加内容

但是,没有具体的解决方案尚未达成... 以最小的改动任何解决方案?

But no specific solution reached yet... Any solution with minimal changes?

推荐答案

尝试一下本作的事件绑定:

try this for event binding:

$('#tag_like').on("click", "#like", function() {
   $.post("{% url 'likevideo' %}", {uid:{{ login_id }}, videoid:"{{ videoid }}"}, function(data,status){
      $('#tag_like').load(' #tag_like')
   });
});
$('#tag_like').on("click", "#unlike", function() {
   $.post("{% url 'unlikevideo' %}", {uid:{{ login_id }}, videoid:"{{ videoid }}"}, function(data,status){
      $('#tag_like').load(' #tag_like')
   });
});
 
精彩推荐
图片推荐