我正在从服务器获取一些数据并显示在屏幕上。我的 JavaScript 如下所示,PHP 服务器代码如下。我的问题是当数据库返回 null 时(例如,标题)。 PHP 将其识别为 NULL,而 JavaScript 又将其识别为 null。我然后将其显示在屏幕上,它不是显示为null,而是显示为“null”。我不想显示文本“null”,但什么也不显示。
作为解决方法,我可以将 data.title
替换为 ((data.title)?data.title:'')
。这是最好的处理方法吗?
$.get('server.php',{id:1855},
function (data)
{
//data={"id":"1855","firstname":"Pat","lastname":"Prentice","title":null}
$('#my_id').html('<dl><dt>Name:</dt><dd>'+data.firstname+' '+data.lastname+'</dd>'+'<dt>Title:</dt><dd>'+data.title+'</dd>');
},'json');
server.php 返回以下内容:
<?php
$sql_output=array('id'=> 1855, 'firstname'=>'Pat','lastname'=>Prentice,'title'=>NULL);
echo json_encode($array);
?>
最佳答案
我建议在 PHP 代码中将该值设置为空字符串。 JavaScript 中的 If 语句将检查任何错误条件。
<?php
$sql_output=array('id'=> 1855, 'firstname'=>'Pat','lastname'=>Prentice,'title'=>NULL);
foreach ($sql_output as &$row){ // pass by reference
foreach($row as $key=>$value){
if ($value==null) $row[$key] = "";
}
}
echo json_encode($sql_output);
?>
关于php - 将 NULL 显示为无文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12804688/