Есть ли способ передать массив строк, содержащий даты со стороны сервера клиенту? - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь передать массив String со стороны сервера клиенту, используя Nodejs и Pug, но постоянно получаю сообщения об ошибках типа «SyntaxError: ожидаемое выражение, полученное '&'» или «SyntaxError: идентификатор начинается сразу после числового литерала»

Сервер работает под управлением v10.15.0 с PUG v2.0.3.Я попытался инкапсулировать каждый элемент массива в кавычках.Пробовал несколько разных подходов с JSON, но продолжаю получать одни и те же ошибки.С кодом ниже, когда я печатаю массив в консоли, я получаю (только 4 элемента, остальное здесь удалено для краткости): ['"2017-04-01T02: 43: 39.000Z"', '"2017-04-01T06:37: 05.000Z "','" 2017-04-01T10: 30: 22.000Z "','" 2017-04-01T14: 23: 41.000Z "', ...] Я буквально потерян в это время, могупожалуйста помогите?

//Server side
client.execute(query,[], function(err, result){
        if(err){
            res.status(404).send({msg: err});
        } else {
            for (i in result.rows){
                currentDate = new Date(result.rows[i].event_time);
                dates.push('"'+ currentDate.toJSON()+'"');
                //dates.push(currentDate.toJSON());

            }
            if (result.rows[0] != null) {
                res.render(page, {
                    datesA: dates,
                    //datesA: JSON.stringify(dates),
                });
            else {
                res.status(404).send({msg: err});
            }
        }
    });
//PUG
var dates =JSON.parse(#{datesA});
//var dates = JSON.parse(#{datesA});
//var dates = JSON.parse(JSON.stringify(#{datesA});
//var dates = #{datesA};

1 Ответ

1 голос
/ 22 апреля 2019

Попробуйте это в файле мопса (в разделе скрипта):

var dates = !{JSON.stringify(datesA)};
...