获得UNDEFINED值AJAX JSON

时间:2014-01-11 12:20:18

标签: php jquery html mysql ajax

当我运行此代码时,我收到undefined警报,这似乎是导致问题的原因?

这是我的insert_home.php

else if(isset($_POST['SELECTSLIDE']))
{
$SSID = ($_POST['SELECTSLIDE']);
$result = mysqli_query($con,"SELECT *FROM slider SLIDE_NUM=('$SSID')");
while($row = mysqli_fetch_array($result)){

echo json_encode(array("a" => $row['SLIDE_TITLE']));

}
 mysqli_close($con); 
}

这是我的javascript

function SLIDE_EDIT(SLIDEID)
{

$.post('insert_home.php',{SELECTSLIDE:SLIDEID}).done(function(data){
     alert(data.a);
    });

}

1 个答案:

答案 0 :(得分:2)

AJAX JSON格式错误,你应该在数组中分配查询获取结果,然后使用json_encode函数返回有效的JSON 喜欢这个

else if(isset($_POST['SELECTSLIDE']))
    {
    $response = array();
    $SSID = ($_POST['SELECTSLIDE']);
    $result = mysqli_query($con,"SELECT *FROM slider SLIDE_NUM=('$SSID')");
    while($row = mysqli_fetch_array($result)){
         array_push($response, array("a" => $row['SLIDE_TITLE']));
    }
     header('Content-type: text/json');
     echo json_encode($response); 
     mysqli_close($con); 
    }

在JavaScript中,使用for循环来获取值,比如

function SLIDE_EDIT(SLIDEID)
{

$.post('insert_home.php',{SELECTSLIDE:SLIDEID}).done(function(data){
     for(var i in data){
        alert(data[i].a);
      }
    });

}