2017-03-01 1 views
1

Ich benutze das Plugin https://github.com/phonegap-build/PushPlugin/ mit Angular 1.3 und ich muss die regid an den Server senden, wenn "registrierte" Ereignis erhalten. Das Problem ist, dass ich $ http-Objekt nicht habe, um meinen Server in diesem Kontext aufzurufen. Wie kann ich das bitte erreichen?

function onNotification(e){ 
    if(e.event == "registered"){ 
     var req = { 
      method: "POST", 
      url: "http://myurl.com/?var="+e.regid 
     }; 
     $http(req).success(function(data){ 
      alert(data); 
     }); 
    } 
} 
+0

Sie übergeordnete Teil von 'onNotification' Funktion veröffentlichen können? –

Antwort

0

ändern $http Aufruf wie folgt, wird .success veraltet.

$http({ 
    method: "POST", 
    url: "http://myurl.com/?var="+e.regid 
}).then(function successCallback(response) { 
    // this callback will be called asynchronously 
    // when the response is available 
    alert(response); 
}, function errorCallback(response) { 
    // called asynchronously if an error occurs 
    // or server returns response with an error status. 
}); 

Ref.-Nr. : https://docs.angularjs.org/api/ng/service/ $ http

Grüße.

+0

Als onNotification-Methode ist nicht in jedem Controller, Service oder Fabrik, wenn ich $ http aufrufen Ich erhalte den Fehler "$ http ist undefined". –

1

Ich habe gelernt, wie $ http in die Ereignismethode zu injizieren:

$http = angular.injector(["ng"]).get("$http"); 
Verwandte Themen