簡體   English   中英

在PHP循環中運行jQuery AJAX從PHP腳本獲取HTML

[英]Running jQuery AJAX in a PHP loop get HTML from a PHP script

對不起,我不得不再問一次。 因此,我正在運行此jQuery,以在我的PHP循環輸出中滑動切換范圍。 我有一些PHP生成對數據庫的一些調用,以獲取有關每個項目的更詳細的信息。

我知道到目前為止,我已經調用了PHP腳本。 我可以看到從PHP文件回顯的HTML返回的數據包。 但是我很難讓jQuery將返回的數據插入指定的范圍。

這是循環項的簡化版本:

<span class="searchitem">

 <span style="visibility:hidden;" class="name">some name</span>

 <span class="btn">Details</span>

 <span class="itemdetails" style="display: none;">
   //hidden area to populate with returned ajax html from php script 
 </span>

</span>


<span class="searchitem">

 <span style="visibility:hidden;" class="name">another name</span>

 <span class="btn">Details</span>

 <span class="itemdetails">
   <div>
     <p>
     this is the area i need the html to populate
     </p>
   </div>
</span>

</span>.................

這是我要運行的jQuery。 我知道一切都會成功。 我無法從那里獲取數據。

<script type="text/javascript">   
      var ajax_load = "<img src='images/loading.gif' style='width:50px;' alt='loading...' />"; 
      var loadUrl = "ajax/item_details.php";
      $(document).ready(function ()
              {
                    $('.searchitem').each(function () {

                    var itemname = $(this).find('.name').text();
                    var ename = encodeURI(itemname);
                    var requestUrl = loadUrl + ename;
                        $(this).find('.itemdetails').hide();
                        $(this).find('.btn').click(function ()
                        {
                            var returned = "";
                                $.ajax({
                                type: "GET",
                                url: loadUrl,
                                data: "name=" + ename,
                                dataType: "text",
                                error: function () { alert("error") },
                                success: function (data) { $(".ptavail").append(data); alert("successful") }
                                }); 
                    $(this).parent().find('.ptavail').html(ajax_load).slideToggle(1500).html(returned);
                        });
                    });
              });
</script>

從代碼中可以看到,我試圖將click函數設置為關閉。 我知道PHP文件正在接收調用並返回數據,但是我一直試圖讓jQuery用返回的數據填充.itemdetails。

這有什么問題? 我是否需要將AJAX放入一個單獨的函數中以使其表現出所需的性能,或者是否需要使其同步才能工作? 我正在嘗試基本上先用加載符號替換.itemdetails跨度之間的所有內容,然后用AJAX返回的數據...。由於現在是錯誤提示,所以ajax調用有問題,我知道它確實在處理請求正確,PHP返回了結果,但事實證明讓AJAX讀取它們是有問題的。

我可以看到標題中的內容類型是文本,那么如何獲取AJAX才能正確進行調用?

$(this).parent().find('.itemdetails').html(ajax_load).slideToggle(1500).html(data);

在Ajax請求的“成功”部分中。

success: function(data) {
  $(this).parent().find('.itemdetails').html(ajax_load).slideToggle(1500).html(data);
}

成功功能是這樣說的:“當Ajax工作時,請執行此操作”

暫無
暫無

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

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