Safari无法在Ajax调用上加载XMLHttpRequest,而Chrome可以

时间:2019-03-23 15:27:55

标签: jquery node.js ajax express

我有一个用node.js编写的应用程序。当我拨打Ajax电话时,除了Safari以外,所有浏览器的响应都没问题

这是我的路线:

picture.width(150)

这是我的Ajax电话:

router.get('/getStocks', mid.requiresLogin, function(req, res, next) {
  /*
  None of these worked!!
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Content-Type", "application/json");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  */
 registeredUser.findById(req.session.userId)
    .exec(function (error, user){
      if(error){
        return next(error);
      }
      var search = req.query.id;
      var regexValue = '^' + search;
      var queryOptions = {
        productCode: {
          '$regex' : regexValue,
          '$options' : 'i' 
        }
      };
      stockListModel.find(queryOptions, function(err, data) {
        if(err){            
          console.log(err);
        }
        var stringify = JSON.stringify(data);
        console.log(data);

        return res.json(data);
      });
    });
});

我可以在包括safari在内的所有浏览器中通过此链接获取结果

http://boschonurlu.herokuapp.com/getStocks?id=&_=1553354201898

但是当我尝试通过Ajax调用将其加载到页面中时,chrome和firefox可以工作,但是safari在控制台上给了我2条错误:

不允许请求资源

XMLHttpRequest由于访问控制检查而无法加载http://boschonurlu.herokuapp.com/getStocks?id=&_=1553354201898

我应该怎么做才能使Safari上的Ajax调用正常工作?

0 个答案:

没有答案