Django jQuery AJAX自我替换脚本

时间:2012-12-31 01:12:52

标签: jquery django

我在实现自我替换脚本时遇到了麻烦。我承认我非常困惑。

我正在尝试实现两个按钮,如果您单击一个按钮,则会向服务器发送POST请求;服务器验证您确实转到此网页并将HttpResponseRedirect发送回包含不完整网页/页面的页面,该页面在单击按钮后仅包含我想要更新的部分。一旦我的原始jQuery请求收到该新页面,它将使用刚收到的新页面替换当前页面上的元素。

我的jQuery看起来像:

<script id="self_replacing">
$(document).ready(function() {  
  $('#button1').click(function(){
    $.post("/", { 
      unique_id : "{{ unique_id }}",
      csrfmiddlewaretoken: '{{ csrf_token }}'
    },
    function(data){
       var js_portion = $('<div/>').html(data).find('self_replacing')
       var html_portion = $('<div/>').html(data).find('pic_content')
       $('#pic_content').replaceWith(html_portion)
       $('#self_replacing').replaceWith(js_portion)
    });
  });
});
</script>

不完整的页面:

<script id="self_replacing">
$(document).ready(function() {  
  $('#button1').click(function(){
    $.post("/", { 
      unique_id : "{{ unique_id }}",
      csrfmiddlewaretoken: '{{ csrf_token }}'
    },
    function(data){
       var js_portion = $('<div/>').html(data).find('self_replacing')
       var html_portion = $('<div/>').html(data).find('pic_content')
       $('#pic_content').replaceWith(html_portion)
       $('#self_replacing').replaceWith(js_portion)
    });
  });
});
</script>
<div id="pic_content">
      .
      .

</div>

我有正确的想法吗?当我通过FireBug控制台观察我的请求时,每次单击按钮时流量都会开始向上扩展。

例如,在开始时,它有1次点击= 1次POST 然后单击= 2POST,然后单击= 3 POST。我不太清楚为什么会这样。我的jQuery脚本有问题吗?

注意:每次POST后都需要更新jQuery脚本。

0 个答案:

没有答案