2016-03-19 26 views
2

Formu gönderildiğinde bir posta gönderiyorum. Her şey iyi çalışıyor, tek sorun internet bağlantısı mevcut olmasa da, kullanıcı başarıya ulaşıyor. İnternet bağlantısı yoksa, kullanıcının bir hata mesajı almasını istiyorum.Internet bağlantısı yoksa bir tost görüntülemek istiyorum, bu nasıl yapılacağı hakkında hiçbir fikrim yok

komut

this.mail= function() { 
var data = ({ 
    name :this.name, 
    email :this.email 

}) 

//Post Request 
$http.post('/send', data). 
    success(function(response, status, headers, config){ 
      $mdToast.show(

       $mdToast.simple() 
        .textContent('Your form has been submitted '+data.name) 
        .position($scope.getToastPosition()) 
        .hideDelay(5000) 
      ); 
    }). 

    error(function(response, status, headers, config) { 
     $mdToast.show(
     $mdToast.simple() 
      .textContent('Something went wrong, Please TRY AGAIN '+data.name) 
      .position($scope.getToastPosition()) 
      .hideDelay(5000) 
     ); 

}); 

sunucu

function send(req, res) { 
    console.log(req.body); 

    var data= req.body 
    smtpTransport.sendMail({ 
    from: "<[email protected]>", 
    to: data.email, 
    subject: "Website Submission from "+data.name, 
    text: 'You have a new submission with the following details..., 
    }, function(error, response){ //callback 
    if(error){ 
     console.log(error); 
    }if(error.code == "ENOENT"){ 
     console.log("no internet connection"); 
    }else{ 
     console.log(" Message sent "+data.name); 
    } 

    smtpTransport.close(); 
    }); 
    res.json(data); 
} 

cevap

1

https://docs.angularjs.org/api/ng/service/$http $ http eski vaadi yöntemleri başarı ve hata kullanımdan kaldırıldı. Standart ve sonra bunun yerine yöntemi kullanın. $ HttpProvider.useLegacyPromiseExtensions yanlış olarak ayarlanırsa, bu yöntemler $ http/eski hata oluşturur.

Başarı/hata kullanmayın.

+0

teşekkür ederim efendim javascript kodu kullanabilirsiniz, ben bu denemek ve u – Ankit

+0

:) geri almak i ikisi arasında çok fazla fark bulmuyorum, ben yanlış olabilir ama ne olacak Yanıt nesnesinin, mirastan bana benzeyen veri, durum, üstbilgiler ve yapılandırma özelliklerini içerdiğini gör. Her neyse, bunun için yeni bir kodumu değiştirdim :) – Ankit

+0

Burada form başarıyla gönderiliyor, bu yüzden ben tost alıyorum. Ama asıl hata düğüm maillerinden, bu ekrana görüntülemek istediğim şey bu – Ankit

0

Sen

if(!window.navigator.onLine) 
{ 
//you are not online 
} 
+0

tamam, ama yanıttan hata alıp ekranda görüntüleniyor. Bu hata gibi bir şey var.code == "ENOENT" – Ankit