javascript - 如何将 json_encode 返回的对象转换为 javascript 变量
问题描述
我正在将一个json_encode
对象返回给 ajax 调用。首先,有没有更好的方法来做到这一点?这是json_encode needed?
到我问题的根源。当我尝试将键设为变量时,它会引发“未定义错误”。这一行:var displayTriggers = trigger_rows;
有谁看到我做错了什么?
PHP:
try {
$con = getConfig('pdo');
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql_triggers = "
SELECT *
FROM triggers
";
$triggers_stmt = $con->prepare($sql_triggers);
$triggers_stmt->execute();
$triggers_rows = $triggers_stmt->fetchAll(PDO::FETCH_ASSOC);
$triggers_arr = array();
foreach ($triggers_rows as $triggers_row) {
$trigger_id = $triggers_row['id'];
$trigger_title = $triggers_row['trigger_name'];
$trigger_setting = $triggers_row['setting'];
$trigger_user = $triggers_row['user_id'];
$trigger_placement = $triggers_row['placement'];
$trigger_date = $triggers_row['date_changed'];
$trigger_active = ( $trigger_setting == '1' ) ? ' active' : '';
$html = '';
$html .= '<div class="triggerRow" data-placement="'.$trigger_placement.'">';
$html .= '<div class="triggerRowLeft">';
$html .= '<div class="triggerTitle">' . $trigger_title . '</div>';
$html .= '<div class="triggerText">' . $trigger_date . '</div>';
$html .= '<div class="triggerText">' . $trigger_user . '</div>';
$html .= '</div>';
$html .= '<div class="triggerRowRight">';
$html .= '<div class="triggerButton' . $trigger_active . '"></div>';
$html .= '</div>';
$html .= '</div>';
$data = array('html' => $html);
$triggers_arr[] = $data;
}
echo json_encode(['trigger_rows' => $triggers_arr]);
}
catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
JS:
$wrapper = $('#triggerCont');
$.ajax({
url: 'php/triggerSelect.php',
dataType: 'json',
success: function (data) {
//console.log(data);
if (data == null) {
alert("Unable to retrieve triggers!");
alert(data);
} else {
var displayTriggers = trigger_rows;
$wrapper.empty();
$(displayTriggers).each(function() {
$wrapper.append(this.html);
//console.log(this.html);
});
}
},
error: function (xhr, textStatus, errorThrown) {
alert(textStatus + " | " + errorThrown);
alert('There are currently no project images for this selection');
}
});
解决方案
var displayTriggers = data.trigger_rows;
应该做的伎俩
推荐阅读
- asp.net - 固定 URL 的 ASP.Net MVC 路由
- reactjs - 导入时“无法读取未定义的属性‘映射’”
- sql - oracle sql中的错误“缺少右括号”是什么意思
- php - 注册时不需要电子邮件,Ion_auth
- javascript - ant design 中的异步表单字段验证
- android - TextToSpeech 无法说出巨大的字符串
- r - R 中的 h2o 包问题使用子集数据帧导致接近完美的预测精度
- java - Spring @Autowired 在某些类中不起作用
- php - 我有从 0 到 99 的 wav 文件,在连接时使它们听起来不错的最佳逻辑是什么?
- python - 使用 os.system 打开记事本文件会出现错误“系统找不到指定的路径”