[英]PHP/AJAX: Can't seem to be able to display ajax result into DIV, but works in ALERT()
我目前正在通過一個真實的網站項目來學習PHP,並且想使用Ajax調用來更改網站的各個部分。
代碼樣本
myproject.js
$(document).ready(function() {
$("#inventory").click(function() {
$.ajaxSetup({
url: "sectionhandler.php?section='inventory'",
type: "get",
dataType: "html"
});
$.ajax().done(function(html) {
alert(html); // This works!
$("#section").html(html); // This doesn't work.
$("#section").append(html); // This neither.
});
});
});
inventory.html
<table><tr><td>Hello world with AJAX!</td></tr></table>
sectionhandler.php
<?php echo file_get_contents( 'inventory.html' ); ?>
menu.html
<a id="inventory" href="">Inventory</a>
的index.php
<div id="menu" class="content"><?php echo file_get_contents( 'menu.html' ); ?></div>
<div id="section" class="content"></div>
找到和閱讀並嘗試過的相關文章
還有很多...
結果
當我單擊menu.html
包含的並通過index.php
顯示的Inventory鏈接時,jQuery代碼執行得很好。 我從服務器獲取結果,同時在alert()
顯示來自inventory.html
.html的正確內容。
但是,當我將innerHTML
設置為<div id="section" class="content"></div>
,我似乎無法獲得預期的結果。 頁面的背景似乎在閃爍,盡管不應該按照Ajax定義進行閃爍,並且XMLHttpRequest.responseText
的內容從未顯示。
當我雙擊Inventory
鏈接時,使它更接近起作用,以便在頁面背景中的第一個“刷新”之后,它顯示了本節的內容。
我已經嘗試了多種使用經典Javascript並在<a>
標記上帶有onclick
元素的方法,並且嘗試了document.getElementById("section")
,盡管獲得了正確的元素,但我無法在頁面上顯示我的內容。
任何想法都歡迎!
提前致謝 ! =)
很有可能,您需要防止瀏覽器的默認行為:
$("#inventory").click(function(event) {
event.preventDefault();
...
});
請注意, event
參數已添加到點擊處理程序中。
順便說一句,您的HTML響應無效- <table>
應該包含包裝任何<tr>
的<tbody>
元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.