나는 그 기능을 매우 잘 계단식으로 떨어 뜨렸다. 양식이 제출되면 ID는 두 번째 스크립트로 전달됩니다. 콜백 함수를 제대로 작동하지 못하는 것 같습니다. 무엇이 잘못되었는지 알지 못한다.Jquery Json이 html 테이블에 요청하여 콜백
참고 제안 된 변경 사항으로 코드를 업데이트했지만 여전히 문제가 발생합니다.
PHP는 :
<?php
if (!empty($_GET['id'])) {
$id = $_GET['id'];
try {
$objDb = new PDO('mysql:host=localhost;dbname=blankett', 'root', 'root');
$objDb->exec('SET CHARACTER SET utf8');
$sql = "SELECT *
FROM `forms`
WHERE `id` = '$id'";
$statement = $objDb->prepare($sql);
$list = $statement->fetchAll(PDO::FETCH_ASSOC);
if (!empty($list)) {
$out = array();
foreach ($list as $row) {
$out[] = '<tr><td><a href="'.$row['link_form'].'">'.$row['name_form'].'</a></td> <td>'.$row['date_added'].'</td></tr>';
}
echo json_encode(array('error' => false, 'list' => $out));
} else {
echo json_encode(array('error' => true));
}
} catch(PDOException $e) {
echo json_encode(array('error' => true));
}
}else {
echo json_encode(array('error' => true));
}
?>
JQuery와 아약스 호출.
$each(data.form, function(i, val){
$('#formsubmit tbody').append(val);
});
는 각 기능 내부에 out
변수가 없기 때문에, 당신은 반환의 핵심 form
의 이름을 지정할 것 같습니다 :
$each(data.out, function(){
var trow = out;
$('#formsubmit tbody').append(trow);
});
으로 :
$('#blankett_form').submit(function() {
var id = $(this).find('.update:last').val();
if (id == '') {
alert('Välj land och region.'); //glöm inte bort att ändra beroende på land.
} else {
var table = '<table class="table table-hover table-bordered"><thead><tr><th>blanketter.</th><th>datum tillagt.</th></tr></thead><tbody></tbody></table>'
$('#formsubmit').empty().append(table)
$ajax({
url: 'func/blankett_func2.php',
data: {'id':id},
dataType: 'JSON',
success: function(data)
{
$.each(data.list, function(index, value){
$('#formsubmit tbody').append(value);
});
}
});
return false
});
스크립트가로드되지 않았으므로 여전히 문제가 있다고 생각합니다. 그 이유는 무엇일까요? – StenW