This is working code that is displayed in the JCE code Editor with version: JCE Pro 2.9.62 Beta
{source raw="true"}
<script>
var infostr = <?php
$userarr = [];
try {
$query = $db->getQuery(true);
$query->select($db->quoteName(['id', 'name']));
$query->from($db->quoteName('#__users'));
$db->setQuery($query);
$datas = $db->loadObjectList();
if (isset($datas)){
foreach($datas as $data) {
$userarr[] = array('id' => $data->id, 'na' => $data->name);
}
}
}
catch (\InvalidArgumentException $e) {
echo json_encode(array('error' => $e->getMessage()));
}
$query->clear();
echo "'".json_encode(array('users' => $userarr))."'"; ?> ;
alert(infostr);
</script> {/source}
This is what I get in JCE code Editor with version: JCE Pro 2.9.82, no settings changed. Pay attention to all the inserted spaces. This is not valid code anymore when saved.
{source raw="true"}
<script>
var infostr = < ? php
$userarr = [];
try {
$query = $db - > getQuery(true);
$query - > select($db - > quoteName(['id', 'name']));
$query - > from($db - > quoteName('#__users'));
$db - > setQuery($query);
$datas = $db - > loadObjectList();
if (isset($datas)) {
foreach($datas as $data) {
$userarr[] = array('id' => $data - > id, 'na' => $data - > name);
}
}
} catch (\InvalidArgumentException $e) {
echo json_encode(array('error' => $e - > getMessage()));
}
$query - > clear();
echo "'".json_encode(array('users' => $userarr)).
"'"; ? > ;
alert(infostr);
</script> {/source}