我有一個表單,我需要通過AJAX發送數據。整個想法一旦選擇了表單數據,通過jQuery.get()
發送的ajax調用將調用另一個函數,該函數接收並解碼PHP中的數據,並將該數據用作id以從數據庫獲取更多數據。然後將數據庫中的數據重新編碼併發送到一個javascript函數,該函數根據傳遞的內容打印更多數據。Ajax拒絕在非常奇怪的情況下發送數據
我的問題是,我隨時在參考$_GET
或$_POST
使用<?php ?>
標籤在javascript函數,我得到一個錯誤告訴我,我的javascript函數是未定義的。我知道這是部分,至少,因爲當我刪除$_GET/$_POST
superglobal AJAX調用確實發送。
任何幫助,這將不勝感激。
這裏是我的代碼:
jQuery.noConflict();
function printSubCategories(categories) {
for (var i = 0; i < categories.length; i++) {
var opt = document.createElement('option');
opt.text = categories[i]['name'];
opt.value = categories[i]['id'];
jQuery('#subcategories').append(opt);
}
}
function recieveAndPrint() {
<?php
$categories = getCategories(json_decode($_GET['parent']));
?>
printSubCategories(<?=json_encode($categories)?>);
}
function ajaxCategories(pathToFile, ajaxData) {
jQuery.get(pathToFile, {'parent' : ajaxData}, function(ajaxData) {
//alert('Data loaded: ' + ajaxData + <?=json_encode($_POST)?>);
});
recieveAndPrint();
}
您確定在您的動態輸出函數中沒有發生javascript編譯錯誤。這肯定會導致你所描述的行爲?你能給我們在錯誤情況下的js輸出嗎? – j0tt