0

jquery load(); で div を更新しようとしています。しかし、ロードは正しい情報を表示しますが、div にないページの部分全体を複製します

$.ajax({
       type: 'POST',
       url: $(this).attr('action'),
       cache: false,
       data: $("#uses_form").serializeArray(),
       success: function(data)
       {
            $('#uses_form_div').load('#uses_form_div');

       }
     });
return false; });
4

2 に答える 2

4

私はあなたが誤解していると思います..

div ブロックに外部 URL をロードする場合

$('#uses_form_div').load("./a.file");

やります。API ドキュメントを参照してください。

または、$.ajax 呼び出しの ajax 応答を div にロードしようとしている場合は、次のようにする必要があります。

$.ajax({
       type: 'POST',
       url: $(this).attr('action'),
       cache: false,
       data: $("#uses_form").serializeArray(),
       success: function(data)
       {
            $('#uses_form_div').html(data); // see here

       }
});

以下のコメントに従って更新:

含まれているページを更新する場合。私がおすすめする方法は2つあります。

  1. インクルードされたファイルを別の URL として作成し、最初にロードします。その代わりにinclude、jquery ロード呼び出しによってページがロードされるときに、jquery 経由でロードします。リフレッシュしたいときは、次のことができます $('#uses_form_div').load("./a.file");

  2. それを自分自身を含めるように配置し、更新する必要がある場合は、ajxリクエストを作成してデータを取り戻すことができます。ここでは 2 つの選択肢があります。サーバーで dom を構築し、html を ajax 応答として提供し、単純$("#uses_form_div").html(data)に応答を json として取得して、クライアント側で dom を構築し、同じ を介してロードすることができます$("#uses_form_div").html(data)

于 2013-02-01T05:52:15.433 に答える
0

私も同じ問題を抱えていましたが、最終的に答えを見つけました

<script type="text/javascript">
function recp() {
  setInterval(function() 
  {
    $("#result").load(location.href+ ' #my');
  });
}
</script>
<div id="result">
  <div id="my"><?php echo date('a:i:s'); ?></div>
</div>

于 2016-01-02T08:56:28.023 に答える