我正在尝试在chrome上创建推送通知系统。 我有一个从mysql中获取数据并回显JSON的php,现在我想调用一个函数getJsonCode(),它在推送通知到达时被激活并读取JSON数据。
在我的服务工作者中,我创建了标准功能。问题是,当我使用XMLHttpRequest创建getJsonCode时,它告诉我它没有定义
self.addEventListener('install', function(event) {
self.skipWaiting();
console.log('Installed', event);
});
self.addEventListener('activate', function(event) {
console.log('Activated', event);
});
self.addEventListener('push', function(event) {
console.log('Push message', event);
getJsonCode();
);
})
getJsonCode() {
codeRequest= new XMLHttpRequest();
codeRequest.open('get', 'myfileWithJson.php', true);
codeRequest.send();
dataJSON = codeRequest.responseText;
console.log('rispostaJSON');
}
是否可以在服务工作者中调用这样的外部文件,或者是否存在某些限制?因为我不知道为什么这不起作用
答案 0 :(得分:5)
您可以使用新的Fetch API,而不是var regex = '/^[0-9]{1,8}$/'; // if you want min 1 and max 8 numbers
var regex = '/^[0-9]{8}$/'; // if you want exact 8 numbers
。 static
已被弃用,在服务工作者范围内不可用。
在this ServiceWorker Cookbook recipe中有一个确切想要实现的例子。
答案 1 :(得分:3)
你可以使用fetch()而不是XHR,因为fetch()是一个新的API,它允许你发出类似于XHR的请求,但是有一个更简单/友好的API。更多关于fetch {{3 }}。试试这个: -
WHERE {}