Я пытаюсь обработать данные ввода формы вprocess_diagnosa.php, но всегда возвращаю оператор Неожиданный конец ввода JSON, у кого-нибудь есть идеи? Я почти уверен, что данные формы были отправлены в Process_diagnosa.php.
коды отправлены из Diagnostic.php
document.getElementById('diagnosaForm').addEventListener('submit', async (e) => {
e.preventDefault();
const formData = new FormData(e.target);
console.log("Data yang dikirim:", Array.from(formData.entries()));
console.log("Checkbox terpilih:", formData.getAll('indikasi[]'));
try {
const response = await fetch('proses_diagnosa.php', {
method: 'POST',
body: formData,
});
const result = await response.json();
console.log("Hasil dari server:", result);
if (result.success) {
hasilDiv.innerHTML = `
Hasil Diagnosa:
Penyebab
Solusi
${result.data.map(row => `
${row.penyebab}
${row.solusi}
`).join('')}
`;
} else {
hasilDiv.innerHTML = `${result.message}`;
}
} catch (error) {
console.error("Kesalahan saat mengolah respons:", error);
hasilDiv.innerHTML = `Terjadi kesalahan: ${error.message}`;
}
});
});
мой процесс_diagnose.php, который обрабатывает входные данные из основной формы, сравнивает их с базой данных и возвращает JSON в основную форму.
header('Content-Type: application/json');
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$kode_brand = $_POST['brand'] ?? '';
$id_keluhan = intval($_POST['keluhan'] ?? 0);
$indikasi_terpilih = $_POST['indikasi'] ?? [];
if (empty($kode_brand) || empty($id_keluhan) || !is_array($indikasi_terpilih) || count($indikasi_terpilih) === 0) {
echo json_encode(['success' => false, 'message' => 'Data tidak lengkap atau indikasi belum dipilih!']);
exit;
}
try {//somequery here
// Bind parameter
$params = array_merge([$kode_brand, $id_keluhan], $indikasi_terpilih);
$types = "si" . str_repeat("i", count($indikasi_terpilih));
$stmt->bind_param($types, ...$params);
// Eksekusi dan ambil hasil
$stmt->execute();
$result = $stmt->get_result();
$data = [];
while ($row = $result->fetch_assoc()) {
$data[] = [
'penyebab' => htmlspecialchars($row['penyebab']),
'solusi' => htmlspecialchars($row['solusi']),
];
}
if (count($data) > 0) {
echo json_encode(['success' => true, 'data' => $data]);
} else {
echo json_encode(['success' => false, 'message' => 'Tidak ditemukan penyebab dan solusi berdasarkan indikasi yang dipilih.']);
}
} catch (Exception $e) {
echo json_encode(['success' => false, 'message' => 'Terjadi kesalahan: ' . $e->getMessage()]);
}
exit;
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... -data-sent
Неожиданный конец ввода JSON, но данные отправлены ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ошибка AJAX: синтаксис патронеррора: неожиданный конец ввода JSON [закрыто]
Anonymous » » в форуме JAVA - 0 Ответы
- 4 Просмотры
-
Последнее сообщение Anonymous
-