【问题标题】:Synchronous XMLHttpRequest on the mac chromemac chrome 上的同步 XMLHttpRequest
【发布时间】:2017-06-01 05:53:48
【问题描述】:

我正在使用平均值来建立一个网站。但是在测试的时候,就出现了问题

主线程上的同步 XMLHttpRequest 已被弃用,因为它会对最终用户的体验产生不利影响。 ------ jquery.js:9425

但是我没有在我的项目中使用 XMLHttpRequest。而且我发出的get请求(见下文)没有响应,服务器甚至只记录第一个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});   
        };
    };
  });
});

【问题讨论】:

  • 要么 1. 这不是警告所涉及的代码(请注意,它所涉及的任何代码都是使用 jQuery 发出请求,而后者又使用 XMLHttpRequest)。或者 2. 无论router 是什么,它在幕后使用 XMLHttpRequest(通过 jQuery),并且在某个地方,你告诉router 使该请求同步(或者它是一个糟糕的库,默认为它,这似乎不太可能) .
  • 要了解此请求的来源,请关注此answer
  • 是 jquery.js 中的 xhr.open() 导致问题,当它试图打开 index.html 中的一些引用文件时,异步将设置为 false,但是应该我愿意? @RoryMcCrossan
  • 我修好了,发现jquery.js文件中async默认为false,我改成true,问题就解决了。

标签: javascript jquery http get-request


【解决方案1】:

在jquery.js文件中,jquery.extend()中有一个ajax.settings,而在ajax.settings中,async设置为false,改成true即可,问题就解决了。

p>

【讨论】:

    猜你喜欢
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 2015-02-25
    • 1970-01-01
    • 1970-01-01
    • 2015-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多