当向Bugsnag Enterprise发出标准的bugsnag请求时,Chrome会向我显示请求被服务器拒绝,并且响应状态为405.
Request Method:GET
Status Code:405 Method Not Allowed
这是我的代码:
const script_tag = document.createElement('script');
script_tag.setAttribute('src', '//d2wy8f7a9ursnm.cloudfront.net/bugsnag-3.min.js');
document.head.appendChild(script_tag);
script_tag.onload = () => {
Bugsnag.apiKey = BUGSNAG_API_KEY;
Bugsnag.endpoint = '//exceptions.my-domain.com';
Bugsnag.notifyHandler = 'xhr';
const e = new Error('Test error!');
Bugsnag.notifyException(e);
}
(我在插入代码时没有使用像data
这样的data-apikey="..."
属性的原因是因为这会导致bugsnag发出警告:[Bugsnag] Invalid API key 'undefined'
,但这是一个单独的问题......)
Bugsnag API docs说错误应该通过POST请求发送,所以我不确定为什么Bugsnag自己的Javascript库会发出GET请求。
如何解决此问题?
答案 0 :(得分:3)
报告Javascript时,您需要将/js
附加到通知程序端点的末尾。
我们使用GET请求(而不是POST)有几个原因,主要是为了支持旧版浏览器的错误。也就是说,这可能在未来发生变化。
如果能解决这个问题,请告诉我们!
-Kelly @ Bugsnag