Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Service Worker and AJAX

I am trying to use AJAX to retrieve the details for the push notification I want to display on the users end, but it doesn't work yet.

/*
*
*  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'
        })
    );
});

When I use GCM to send a push notification to the client, Chrome gives this error on the service worker:

sw.js:39 Uncaught ReferenceError: XMLHttpRequest is not defined

like image 767
Calvin Avatar asked Jul 15 '16 09:07

Calvin


People also ask

What is an example of a service worker?

Examples of personal service positions include: Medical assistants and other healthcare support positions; hair- dressers; ushers; and transportation at- tendants. Examples of cleaning service positions include: Cleaners; janitors; and porters.

What is service worker used for?

Service workers are specialized JavaScript assets that act as proxies between web browsers and web servers. They aim to improve reliability by providing offline access, as well as boost page performance.

What is an Ajax service?

Ajax services. A service that asynchronously sends or retrieves data from a data source, such as a database.

Does Facebook use Ajax?

This was the state of the web before the year 2000 when Microsoft introduced the Ajax technology (XMLHttpRequest object) to Internet Explorer which facilitated communication to servers without reloading the page. Soon after other big companies like Google, and Facebook started incorporating it.


1 Answers

To do this we can set the method and body parameters in the fetch() options.

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

Should you want to make a fetch request with credentials such as cookies, you should set the credentials of the request to "include".

fetch(url, {  
  credentials: 'include'  
})
like image 142
PHP developer Avatar answered Sep 23 '22 16:09

PHP developer