Почему мой req.flash не работает? - PullRequest
1 голос
/ 29 марта 2011

Вот функция Node.js. Это работает, в том смысле, что удаляются плохие данные JSON, но также мигает сообщение об ошибке. Почему?

// Create document 
app.post('/documents.:format?', loadUser, function(req, res) {

        /////////////////////////added by adam
        //tests to see if the inputed text is valid JSON data
        data = req.body.d.data;
        console.log("///////////" + data);

        try { 
            type = JSON.parse(data);
            console.log(type);
        } catch (ex) { 
            console.log("bad json: "+data);
            req.flash('Nope', 'Invalid JSON');
            res.redirect('/documents');
            return;
        }

            var d = new Document(req.body.d);
            d.user_id = req.currentUser.id;
            d.save(function() {
                switch (req.params.format) {
                    case 'json':
                        res.send(d.toObject());
                        break;

                    default:
                        req.flash('info', 'Document created');
                        res.redirect('/documents');
                }
            }); 

1 Ответ

0 голосов
/ 09 августа 2012

Блок catch содержит как сообщение об ошибке, так и журнал 'bad JSON', поэтому они всегда будут происходить в одно и то же время из-за области действия блока.

...