Синхронный XMLHttpRequest на Mac Chrome

Я использую средство для создания веб-сайта. Но при тестировании возникает проблема

Синхронный XMLHttpRequest в основном потоке устарел из-за его вредного воздействия на работу конечного пользователя. ------ jquery.js:9425

Но я не использовал XMLHttpRequest в своем проекте. И запрос на получение (см. Ниже), который я делаю, не имеет ответа, сервер даже регистрирует только первый console.log. Я не знаю, связаны ли они. Спасибо.

router.get('/login', function (req, res, next){
User.find({email: req.query.email}, function (err, user){
    console.log(req.query.email);
    if (err) {
        return next(err);
    } else if (!user) {
        return res.json({message: 'This email is not registered yet.'});
    } else {
        if (req.query.password != user.password) {
            return res.json({message: 'Password is not correct!'});
        } else {
            console.log(req.query.email);
            console.log(user);
            console.log(user.username);
            var token = auth.signToken(user._id, user.username, user.role);
            console.log(token);
            res.json({token: token, user: user});   
        };
    };
  });
});

person vivian    schedule 17.01.2017    source источник
comment
Либо 1. Это не тот код, к которому относится предупреждение (обратите внимание, что любой код, к которому оно относится, использует jQuery для выполнения запроса, который, в свою очередь, использует XMLHttpRequest). Или 2. Чем бы ни был router, он использует XMLHttpRequest (через jQuery) под прикрытием, и где-то вы сказали router сделать этот запрос синхронным (или это ужасная библиотека, которая использует его по умолчанию, что кажется маловероятным).   -  person T.J. Crowder    schedule 17.01.2017
comment
Чтобы узнать, откуда исходит этот запрос, следуйте этому ответу.   -  person Eddi    schedule 17.01.2017
comment
Именно xhr.open() в jquery.js вызывает проблему, когда он пытается открыть некоторые файлы, на которые есть ссылки в index.html, для асинхронности будет установлено значение false, но что мне делать? @RoryMcCrossan   -  person vivian    schedule 17.01.2017
comment
Я исправил это, я обнаружил, что в файле jquery.js для async по умолчанию установлено значение false, я изменил его на true, и проблема устранена.   -  person vivian    schedule 17.01.2017


Ответы (1)


В файле jquery.js есть ajax.settings в jquery.extend(), а в ajax.settings для асинхронности установлено значение false, просто измените его на true, и проблема будет решена.

person vivian    schedule 19.01.2017