gpt4 book ai didi

javascript - 如何将 json_encode 返回的对象转换为 javascript 变量

转载 作者:行者123 更新时间:2023-11-30 13:46:37 27 4
gpt4 key购买 nike

我正在向 ajax 调用返回一个 json_encode 对象。首先,有没有更好的方法来做到这一点?需要这个 json_encode 吗?

我的问题的根源。当我试图让键成为一个变量时,它会抛出一个“未定义的错误”。这一行: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;

应该可以解决问题

关于javascript - 如何将 json_encode 返回的对象转换为 javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59197636/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com