我試圖讓.load
方法發佈到一個頁面,然後回顯發佈的內容,看看它是否工作,我不能得到這個工作。我告訴我的變量是不確定的,這裏是我有:Jquery Ajax加載/發佈
teachers.php:
<?php
echo $POST['class'];
的JS:
$('#test').load('teacher.php', {class: 'test'});
,一旦事情被點擊時觸發。
#test
是我想要數據發佈到的<div>
。
感謝您的幫助。
我試圖讓.load
方法發佈到一個頁面,然後回顯發佈的內容,看看它是否工作,我不能得到這個工作。我告訴我的變量是不確定的,這裏是我有:Jquery Ajax加載/發佈
teachers.php:
<?php
echo $POST['class'];
的JS:
$('#test').load('teacher.php', {class: 'test'});
,一旦事情被點擊時觸發。
#test
是我想要數據發佈到的<div>
。
感謝您的幫助。
這些問題大多數是由於AJAX的異步性。 通過AJAX加載的所有內容(包括.post()
,,.ajax()
,.get()
)不會「存在」,除非AJAX請求響應往返已完成。
確保在回調函數「用」你AJAX(一個HTML位,JSON響應,...)加載什麼,那就是呼籲AJAX請求的成功。
例如讓我們說我的網頁ajax.php
返回此字符串:<div id='ajaxdiv'>hello!</div>
,我們想在#mydiv
加載此(HTML)字符串:
$("#mydiv").load("ajax.php");
console.log($("#mydiv #ajaxdiv")); <- undefined
它不會起作用,因爲代碼繼續無論完成請求。相反:
$("#mydiv").load("ajax.php", function() { console.log($("#mydiv #ajaxdiv"));});
作品因爲jQuery確保使用回調函數只有在請求已完成。 (您也可以添加參數,如{class: test}
,只需將它們放在URL和回調函數之間)。
編輯:使用$ _POST而不是$ POST。
如果你只是想從jQuery的發佈信息的PHP文件被點擊與test
的ID東西時,那麼這樣做:
teachers.php:
<?php
echo $_POST['class'];
?>
的JS:
$('#test').click(function() {
$.post('teacher.php', {class: 'test'},
function(output) {
//output = what is echoed from the php file.
alert(output);
);
});
您對此使用了錯誤的方法。使用'$ .post()'或'$ .ajax()' – ahren