navigator.sendBeacon数据发送到服务器

时间:2017-06-21 06:49:47

标签: javascript json performance server

我试图收集数据并将其发布到服务器,但是,

当我试图发布JSON.stringify(jsons数组)时,在服务器端我没有收到帖子。

如果我只发送jsons数组我得到帖子(无法解析它)。

var blob= new Blob([makeData(performance.getEntriesByType("resource"),getGuid(),getClientIP())], {type : 'application/json'}); 
    navigator.sendBeacon("https://stage.bitsngo.com/rum",blob);

我经常搜索以找到答案, 尝试使用cors ... 例如:

 var customParser = bodyParser.json({type: function(req) {
    return req.headers['Content-Type'] === '*/*; charset=UTF-8';
  }});

  app.post('/rum', customParser, function(req, res){
    console.log(req.body);
    console.log(JSON.parse(req.body));
    ramData.addData(JSON.parse(req.body), function (err, res) {});
  });

任何帮助?

1 个答案:

答案 0 :(得分:0)

sendBeacon内容类型被临时禁用-未捕获的DOMException:无法在“导航器”上执行“ sendBeacon”:sendBeacon()的Blob的类型不是Content-Type请求标头的任何CORS安全列表值暂时。有关详细信息,请参见http://crbug.com/490015