2015-03-25 68 views
0

我试图将我的结果从SQL查询获取到JavaScript中的数组中。我想以下几点:从PHP SQL查询创建数组并将其传递给ajax

PHP:

$query = mysqli_query($connection, "select a, b, c from table"); 

$result_a = array(); 
$result_b = array(); 
$result_c = array(); 
while($row = mysqli_fetch_array($query)) { 
$result_a[] = $row['a']; 
$result_b[] = $row['b']; 
$result_c[] = $row['c']; 
} 
echo json_encode(array('a'=>$result_a,'b'=>$result_b, 'c'=>$result_c)); 

的javascript:

$.ajax({ 
type: "POST", 
url: "http://mywebsite.com/data.php", 
     data: dataString3, 
     cache: false, 
     error: function(){}, 
     success: function(data){ 
      alert (data.a); 
      alert (data.b); 
      alert (data.c); 
      }, 
      }); 
     return false; 

PHP的阵列有我要找的,但在JavaScript警报是不确定的数据。任何帮助,将不胜感激。

+2

您是否在您的PHP脚本中发送正确的'Content-Type:application/json'标头?如果不是,'$ .ajax()'请求不会自动反序列化数据。 – Phylogenesis 2015-03-25 01:36:31

+0

当我添加header(“Content-Type:application/json”);'到我的php脚本中调用ajax错误函数?只要我删除它,ajax成功()被称为...仍然未定义的数组。有任何想法吗? – TheDudeAbides 2015-03-25 01:58:35

+1

确保在将任何内容写入页面之前设置该标题。如果这仍然不起作用,您可能不得不使用浏览器的开发人员工具来调试问题(查看网络详细信息并查看ajax调用中实际发送的内容)。 – Phylogenesis 2015-03-25 02:01:43

回答