Невозможно получить Ajax ответ от сервера - PullRequest
0 голосов
/ 07 апреля 2020

Я могу видеть ответ, отправленный с сервера, на вкладке сети, когда я "проверяю" страницу. Тем не менее, консоль не регистрирует ответ в «успех». Node.js в качестве бэкэнда. Ниже приведен код:

function getFilteredData(){

    $(function( $ ){
        console.log("getting table data");

        var filters ={};     
        //inserted some data in filters
        $.ajax({
            type : 'POST',
            url : "query/get-filtered-data",
            dataType : 'application/json',
            async: "true",
            data:JSON.stringify(filters),
            contentType: 'application/json; charset=utf-8',
            success : function(data){
                console.log(data);
                // doesn't log anything. 
                //server response is visible in networks section of 'inspect' in browser.

            },
            failure: function(data){
                alert('got an error');
            }
        });
    });

}

Я отправляю «фильтры» в качестве данных на сторону сервера. Там я использую эти фильтры для запроса коллекции mongodb, используя mon goose.

router.post('/get-filtered-data', bodyParser.json(), function (req, res) {

  console.log(req.body);
  var filters = req.body;

  // authorModel is my mongoose model.
  authorModel.find({})
    .then(function (doc) {
      console.log(doc);    //prints the correct response
      res.send(doc);      
    });
});

Что-то не так с кодом или я что-то упустил? Заранее большое спасибо.

РЕДАКТИРОВАТЬ: Добавлена ​​функция, где я делаю вызов ajax. Эта функция находится в файле HTML.

ОБНОВЛЕНИЕ Благодаря @Quentin она теперь работает. Изменил мой тип данных при вызове ajax на dataType:'json'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...