【发布时间】:2016-06-02 20:07:38
【问题描述】:
我希望 php 文件在 ajax 调用时返回数据(来自数据库)。 Ajax 调用每次都会返回错误警报。我尝试了所有方法,但不知道如何将数组从 PHP 返回到 ajax 调用
到目前为止,我做了这个..
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",,然后在success和error中立即在: function(data) {之后写下console.log(data);。查看 php 在控制台中返回的内容。您还需要error:来返回data。它可能有助于确定 php 页面在做什么。此外,您应该检查控制台以查看 javascript 中没有返回错误。 -
在注释掉
dataType: "json"行之后,ajax 调用会导致函数成功。但是后来我在成功函数中尝试了这个,它不起作用,我猜数据仍然是空的for(elem in data){ document.getElementById("kat_id").innerHTML += 'b'; }
标签: javascript php jquery ajax return-value