簡體   English   中英

使用Ajax刷新div內容

[英]Using ajax to refresh a div content

我正在使用JavaScript處理表單提交,並且使用Ajax調用來刷新某個div僅“不是整個頁面” ,表單提交成功,但是div內部的值未刷新。 我已經嘗試了其他方法/解決方案來解決堆棧溢出問題,但是它們似乎都加載了整個頁面,或者div的內容在表單提交時被隱藏了。

ajax.js

  $(document).ready(function () {
      $('.ajaxform').submit(function (e) {
          e.preventDefault(); // catch the form's submit event
          $.ajax({ // create an AJAX call...
              data: $(this).serialize(), // get the form data
              type: "POST", // POST
              dataType: 'html',
              url: "info.php", // the file to call
              cache: false,
              success: function (response) { // on success..
                  $(".ld").load("info.php .ld"); //this hides the content of the div
                  // $('.ld').html(response);----This loads the entire page inside the div
              }
          });
          return false; // cancel original event to prevent form submitting
      });
  });

info.php的

<html>
    <head>
    </head>
    <body>
    <?php
        ...................
        foreach($stmt as $obj){
            $id = $obj['id'];
            $likes = $obj['like1'];

            echo '<form action="" method="post" id="ajaxform" enctype="multipart/form-data">';
            echo '<input type="hidden" name="lkcv[]" value="'.$id.'">';
            echo '<input type="hidden" name="like" value="">';
            echo '<input type="image" src="images/like.png" id="lksub" width="15" 
                 value="som" height="15" style="float:right;position:relative;
                 margin-right:290px;"/><div class="ld">'.$likes.'</div>';
            echo '</form>’;
            echo '<div id="emailform"></div>';
        }
    ?>
    </body>
</html>

我試圖刷新div標簽中的變量“ $ likes”,而不刷新整個頁面,現在我當前的代碼在表單提交中隱藏了該變量。 我必須手動刷新以查看對“ $ likes”的任何更改。

您正在將XMLHTTPRequest發送給整個文檔,而不是發送給PHP的一部分(據我從問題中了解,這是您需要的PHP)。 此外,您會將請求發送到同一當前頁面info.php ,最好將PHP代碼分為兩部分(呈現初始形式的那一部分和旨在處理服務器端的那一部分)來分離問題。 )。

結果,AJAX將返回info.php所有結果(靜態標記+生成的標記)並返回所有最終的HTML並將其加載到.ld

我建議創建兩個文件: form.phpprocess-form.phpform.php重新整理的文檔ready ,您將執行AJAX調用,並將其發送到process-form ,它將在處理表單后返回所需的數據。

並且這應該在不刷新頁面的情況下起作用(使用AJAX的主要目的)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM