Получение ответа AJAX в Node.js локальный сервер

#jquery #ajax #node.js #mongodb

#jquery #ajax #node.js #mongodb

Вопрос:

Я успешно отправляю запрос AJAX Post на мой MongoDB.

Однако, похоже, я не могу понять, как получить ответ.Я искал информацию, и у меня сложилось впечатление, что это связано с политикой того же источника при запуске локального сервера.

Я пытаюсь зарегистрировать code то, что отправляется через Ajax в консоли.

PS: Я полный новичок в Node.js .


Вот мой код в users.js файл

 router.post('/adduser', function(req, res) {
    var db = req.db;
    db.collection('userlist').insert(req.body, function(err, result){
        res.send(
            (err === null) ? { msg: '',code:'1234' } : { msg: err }
        );
    });
});
 

И это вызов Ajax в global.js файл

 $.ajax({
            type: 'POST',
            data: newUser,
            url: '/users/adduser',
            dataType: 'JSON'
        }).done(function( response ) {

            // Check for successful (blank) response

            if (response.msg === '') {
                 console.log(response.code);
                // Clear the form inputs
                $('#addUser fieldset input').val('');


                // Update the table
                populateTable();

            }
            else {

                // If something goes wrong, alert the error message that our service returned
                alert('Error: '   response.msg);

            }
 

Комментарии:

1. Выполняется done() ли обратный вызов вообще, если не добавить fail() обратный вызов, чтобы узнать, что не так!

2. @adeneo Да, это так .. Я попытался записать сообщение вместо кода, console.log(response.msg), и я просто получаю пустую строку обратно в консоль. Я изменил сообщение с «на «1234», и я все равно получаю пустую строку.

3. Извините, пришлось перезапустить сервер, должен ли я закрыть это из-за того, что он слишком глуп? Я предполагаю, что другой дурак может сделать то же самое и найти решение здесь, поэтому я немного сомневаюсь

4. Это зависит от вас, но я бы просто закрыл его!