1

自己置換スクリプトの実装に問題がありました。私はひどく混乱していることを認めます。

1 つをクリックすると POST リクエストがサーバーに送信されるように、2 つのボタンを実装しようとしています。サーバーは、あなたが実際にこの Web ページにアクセスしたことを確認し、不完全な Web ページを含むページ/ボタンをクリックした後に更新したい部分だけを含むページに 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、1 クリック = 2POST、1 クリック = 3 POST です。なぜこれが起こっているのかよくわかりません。jQuery スクリプトに何か問題がありますか?

注: jQuery スクリプトは、各 POST 後にも更新する必要があります。

4

0 に答える 0