use*_*116 10 javascript ajax service-worker
我试图使用AJAX来检索我想在用户端显示的推送通知的详细信息,但它还没有工作.
/*
*
* Push Notifications codelab
* Copyright 2015 Google Inc. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License
*
*/
// Version 0.1
//'use strict';
console.log('Started', self);
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);
var title = 'Push message';
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "https://www.domain.nl/devtest/1.php", false);
xhttp.send();
title = xhttp.responseText;
event.waitUntil(
self.registration.showNotification(data, {
'body': 'The Message',
'icon': 'images/icon.png'
})
);
});
Run Code Online (Sandbox Code Playgroud)
当我使用GCM向客户端发送推送通知时,Chrome会在服务工作者上发出此错误:
sw.js:39未捕获的ReferenceError:未定义XMLHttpRequest
小智 5
为此,我们可以在 fetch() 选项中设置方法和主体参数。
fetch(url, {
method: 'post',
headers: {
"Content-type": "application/x-www-form-urlencoded; charset=UTF-8"
},
body: 'foo=bar&lorem=ipsum'
})
.then(json)
.then(function (data) {
console.log('Request succeeded with JSON response', data);
})
.catch(function (error) {
console.log('Request failed', error);
});
Run Code Online (Sandbox Code Playgroud)
如果您想使用诸如 cookie 之类的凭据发出提取请求,则应将请求的凭据设置为“包含”。
fetch(url, {
credentials: 'include'
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8485 次 |
| 最近记录: |