Я хочу, чтобы php-файл возвращал данные (из базы данных) на вызов ajax. Ajax-вызов возвращает сообщение об ошибке каждый раз. Я попробовал все, но понятия не имею, как вернуть массив из PHP для AJAX вызоваAjax call - возвращаемое значение PHP
До сих пор я не сделал этого ..
Ajax вызова
function dohvatiPrveTriAkcije(id){
var url = 'http://localhost/ljekarna/model/akcija.php';
$.ajax({
type: "POST",
url: url,
cache: false,
data: { "kategorija": id},
dataType: "json",
success: function (data) {
document.getElementById("kat_id").innerHTML += 'aaa';
},
error: function() {
alert('Pojavila se greška pri dohvacanju akcija za odabranu kategoriju');
}
});
return null;
}
PHP класс
<?php
require_once 'baza_model.php';
$akcija = new Akcija();
if (isset($_GET['kategorija'])) {
echo $_GET['kategorija'];
$akcije = $akcija->dohvatiPrveTriAkcijeZaKategoriju($_GET['kategorija']);
echo $akcije;
}
class Akcija{
private $baza;
static function dohvatiPrveTriAkcijeZaKategoriju($kategorija){
$baza = new Baza();
$akcije = array();
$upit = 'SELECT lijek.naziv, akcija.postotak, akcija.datum_zavrsetka FROM akcija join lijek on akcija.lijek = lijek.id
join kategorija on lijek.kategorija = kategorija.id
where akcija.datum_zavrsetka > CURDATE() AND kategorija.id = ' . $kategorija . ' AND akcija.status = 1
ORDER BY akcija.datum_zavrsetka ASC LIMIT 3';
$rez = $baza->selectDB($upit);
while($red = $rez->fetch_assoc()){
echo "id: " . $red["id"];
$akcije[] = $red;
}
return $akcije;
}
}
Я также пробовал это ...
Попробуйте прокомментировать эту строку 'dataType:" json ",' в ajax, например '// dataType:" json ",' then в 'success' и в' error' write 'console.log (data) ; 'сразу после': function (data) {'. Посмотрите, что возвращает php в консоли. Вам нужна 'error:' для возврата 'data'. Это может помочь определить, что делает страница php. Кроме того, вы должны просто проверить консоль, чтобы увидеть, что в javascript нет ошибок. – Rasclatt
После комментирования строки 'dataType:" json "' вызов ajax приводит к успешной функции. Но потом я попробовал эту функцию успеха, и она не работает, я думаю, что данные все еще пустые. 'for (elem in data) { document.getElementById (" kat_id "). InnerHTML + = 'b'; } ' – Fale1994