Safari не может загрузить XMLHttpRequest при вызове Ajax, в то время как Chrome может - PullRequest
0 голосов
/ 23 марта 2019

У меня есть приложение, написанное в node.js. Когда я делаю Ajax-вызов, ответы все в порядке во всех браузерах, кроме Safari

вот мой маршрут:

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);
      });
    });
});

и вот мой Ajax-вызов:

$.ajax({
      url: 'http://boschonurlu.herokuapp.com/getStocks',
      type: 'get',
      data: jQuery.param({id: search}),
      dataType: 'json',
      contentType:"application/json; charset=utf-8",
      headers: {
       "cache-control" : "no-cache",
       //also this(below) didn't work
       "Access-Control-Allow-Origin" : "*"
      }                                                                 
    })

Я могу получить результаты по этой ссылке во всех браузерах, включая Safari

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

но когда я пытаюсь загрузить его на странице с помощью вызова Ajax, Chrome и Firefox работают, но Safari выдает мне 2 ошибки на консоли:

Запрещено запрашивать ресурс

XMLHttpRequest не может загрузить http://boschonurlu.herokuapp.com/getStocks?id=&_=1553354201898 из-за проверок контроля доступа.

Что я должен сделать, чтобы Ajax Call работал в Safari?

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