我的所有SQL代码和东西都有效,就像我说的那样,如果
,它的工作正常$jTableResult = array();
$jTableResult['message'] = $rows1;
echo json_encode($jTableResult);
是
$jTableResult = array($rows1);
echo json_encode($jTableResult);
JQuery的:
<script type="text/javascript">
$(document).ready(function(){
$("#alertbut").click(function(){
$.ajax({
type: 'POST',
url: '../ajax/ajax.php?key=8789789fdgjhl',
//data:dataString,
dataType: 'json',
success: function (s) {
//alert(s);
$( "#alerts" ).empty();
$('#alerts').append($.parseJSON(s[0]));
}
});
});
});
PHP:
if($key == "8789789fdgjhl")
{
$getalerts = $odb->prepare("SELECT * FROM alerts LIMIT 5");
$getalerts->execute();
$rows = array();
while($row = $getalerts->fetch(PDO::FETCH_ASSOC))
{
$rows1[] = $row['user'];
}
$jTableResult = array();
$jTableResult['message'] = $rows1;
echo json_encode($jTableResult);
}
答案 0 :(得分:0)
当您将JSON收到success
函数时,已经解析了JSON,因为您已告诉ajax调用预期的dataType为json
。因此$.parseJSON()
会将您的对象转换为单个数字字符串,例如[object Object]
,因此您的案例中会得到o
。
改变它。
$('#alerts').append(s[0]);
如果返回的数组的键为s
且索引为0的数组,则应该给出您期望的结果。
修改强>
鉴于您提供的链接,您实际上有一个数组,其中包含索引为message
的名称集合。请使用以下内容:
$('alerts').append(s.message[0]);