2017-06-15 1 views
0

Iam développant une application using Phonegap, tout se passe bien mais je veux qu'un ajax soit déclenché après que j'obtienne la valeur de code de qr d'une autre fonction à la même page, y at-il un façon de le déclencher juste après que l'utilisateur obtienne la valeur de balayage? le code est un peu désordonné ...Javascript comment déclencher l'appel ajax après qu'une fonction se termine

<script type="text/javascript"> 
      $(document).ready(function() { 
`var uemail = localStorage.getItem("semail"); 
document.getElementById("x").innerHTML = uemail;` 

     var dataString = "email=" + email + "&secode=" + value + "&insert="; 
      var h = localStorage.getItem("secode"); 
     $("#conf").click(function() { 
       $.ajax({ 
        type: "POST", 
        url: "http://example.com/auth.php?email="+uemail+"&secode="+h+"", 
        data: dataString, 
        crossDomain: true, 
        cache: false, 
        beforeSend: function() { 
        $('#loading').show(); 
        }, 
        success: function(data) { 

         if (data == "success") { 

          alert("DONNNEEE"); 
         } else if (data == "error") { 

         alert("error"); 
         } 
        } 
       }); 
       return false; 
        }); 
        }); 

     function logoutck() { 
    var r = confirm("هل انت واثق من ذلك؟"); 
    if (r) { 
     window.location.href = 'login.html' 
    } 
} 

    function scan() 
      { 
       cordova.plugins.barcodeScanner.scan(
        function (result) { 
         if(!result.cancelled) 
         { 

          if(result.format == "QR_CODE") 
          { 
          var value = result.text; 
          localStorage.setItem("secode", value); 
           var h = localStorage.getItem("secode"); 
           alert(h); 
          } 
         } else{ 
         alert("U CANCELLED IT"); 
         } 
        }, 
        function (error) { 
         alert("Scanning failed: " + error); 
        } 
       ); 
       } 


</script> 

</head> 

<body> 
<div id="loading"> 

</div> 
    <div class="bar bar-header bar-positive" style="margin-bottom:80px;"> 
     <h1 class="title">EasyQ</h1> 
     <a class="button button-clear" onclick="logoutck();">خروج</a> 
    </div> 

    <br/> 
    <br/> 
    <div class="container"> 




    <p style="text-align: right;">:انت مسجل دخولك ك</p> 

    <div align="right"><span class="badge" align="right" dir="rtl" style="text-align: right;" id="x"></span></div> 
    <br> 

<a target="_blank" href="javascript:scan();" style="text-decoration: none"><button>Scan</button></a> 
    <br><br><br><br> 
    <button id="conf">confirmo</button> 
    <script> 
    $(document).ready(function() { 
    var uemail = localStorage.getItem("semail"); 
document.getElementById("x").innerHTML = uemail; 

     var dataString = "email=" + email + "&secode=" + value + "&insert="; 
      var h = localStorage.getItem("secode"); 
     $("#conf").click(function() { 
       $.ajax({ 
        type: "POST", 
        url: "http://easyq.hol.es/easyqappfiles/qrauth.php?email="+uemail+"&secode="+h+"", 
        data: dataString, 
        crossDomain: true, 
        cache: false, 
        beforeSend: function() { 
        $('#loading').show(); 
        }, 
        success: function(data) { 

         if (data == "success") { 

          alert("DONNNEEE"); 
         } else if (data == "error") { 

         alert("error"); 
         } 
        } 
       }); 
       return false; 
        }); 
        }); 


</script> 
+0

faire un appel ajax dans le succès? – Silencer310

+0

@ Silencer310 Non ... Regardez le code qr javascript .. voyez-vous la ligne if (result.format == "QR_CODE") Je veux faire un appel ajax dedans –

Répondre

0

Écrivez votre appel ajax comme une fonction et appelez-le quand vous en avez besoin.

function ajaxCall(){ 
    $.ajax({ 
    success: function(){ 
     // do something 
    } 
    }); 
} 

Et puis

if(result.format == "QR_CODE") { 
    ajaxCall(); 
} 

Vous pouvez également passer le paramètre à la fonction si nécessaire

+0

Merci beaucoup, je vais essayer plus tard –

+0

de rien! – Silencer310

+0

cela n'a pas fonctionné .. j'ai fait ajaxCall() et je l'ai mis après que comme vous l'avez dit ... toujours même .. il balaye et quand il finit aucun ajax n'est appelé –