AJAX를 통해 선택한 데이터를 보내야하는 양식이 있습니다. 전체 아이디어는 양식 데이터가 선택되면 jQuery.get()
을 통해 전송 된 ajax 호출은 PHP에서 데이터를 수신 및 해독하고 해당 데이터를 ID로 사용하여 데이터베이스에서 더 많은 데이터를 가져 오는 다른 함수를 호출합니다. 데이터베이스의 데이터는 다시 인코딩되고 전달 된 내용을 기반으로 더 많은 데이터를 인쇄하는 javascript 함수로 전송됩니다.Ajax가 아주 이상한 상황에서 데이터 전송을 거부합니다.
내 문제는 언제든지 $_GET
또는 $_POST
을 사용하여 <?php ?>
태그를 자바 스크립트 함수로 사용하면 내 자바 스크립트 함수가 정의되지 않았다는 오류가 발생합니다. $_GET/$_POST
superglobal을 제거하면 AJAX 호출이 전송되기 때문에 적어도 부분적으로는이 작동한다는 것을 알고 있습니다.
이 문제에 도움을 주시면 매우 감사하겠습니다. 난 당신이 어떻게 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();
}
동적 출력 기능에서 자바 스크립트 컴파일 오류가 발생하지 않았습니까? 이것은 확실히 당신이 묘사하고있는 행동을 일으킬 것입니까? 오류 케이스에서 js 출력을 줄 수 있습니까? – j0tt