Javascript如何在函数完成后触发ajax调用

Javascript如何在函数完成后触发ajax调用,javascript,jquery,ajax,phonegap,Javascript,Jquery,Ajax,Phonegap,我正在使用Phonegap开发一个应用程序,一切都很顺利,但我希望在同一页面上从另一个函数获得qr码值后触发ajax,有没有办法在用户获得扫描值后立即触发它?代码有点乱 <script type="text/javascript"> $(document).ready(function() { `var uemail = localStorage.getItem("semail"); document.getElementById("x").inn

我正在使用Phonegap开发一个应用程序,一切都很顺利,但我希望在同一页面上从另一个函数获得qr码值后触发ajax,有没有办法在用户获得扫描值后立即触发它?代码有点乱

    <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>

$(文档).ready(函数(){
`var uemail=localStorage.getItem(“semail”);
document.getElementById(“x”).innerHTML=uemail`
var dataString=“email=“+email+”&secode=“+value+”&insert=”;
var h=localStorage.getItem(“secode”);
$(“#conf”)。单击(函数(){
$.ajax({
类型:“POST”,
url:“http://example.com/auth.php?email=“+uemail+”&secode=“+h+”,
数据:dataString,
跨域:是的,
cache:false,
beforeSend:function(){
$(“#加载”).show();
},
成功:功能(数据){
如果(数据=“成功”){
警惕(“唐尼”);
}else if(数据==“错误”){
警报(“错误”);
}
}
});
返回false;
});
});
函数logoutck(){
var r=确认(“确认”);
if(r){
window.location.href='login.html'
}
}
函数扫描()
{
cordova.plugins.barcodeScanner.scan(
功能(结果){
如果(!result.cancelled)
{
如果(result.format==“QR\U代码”)
{
var值=result.text;
setItem(“secode”,值);
var h=localStorage.getItem(“secode”);
警报(h);
}
}否则{
警报(“U取消了它”);
}
},
函数(错误){
警报(“扫描失败:+错误”);
}
);
}
容易的




确认人 $(文档).ready(函数(){ var uemail=localStorage.getItem(“semail”); document.getElementById(“x”).innerHTML=uemail; var dataString=“email=“+email+”&secode=“+value+”&insert=”; var h=localStorage.getItem(“secode”); $(“#conf”)。单击(函数(){ $.ajax({ 类型:“POST”, url:“http://easyq.hol.es/easyqappfiles/qrauth.php?email=“+uemail+”&secode=“+h+”, 数据:dataString, 跨域:是的, cache:false, beforeSend:function(){ $(“#加载”).show(); }, 成功:功能(数据){ 如果(数据=“成功”){ 警惕(“唐尼”); }else if(数据==“错误”){ 警报(“错误”); } } }); 返回false; }); });
将ajax调用作为函数编写,并在需要时调用它

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

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

如果需要,您还可以将参数传递给函数

在成功时进行另一个ajax调用?@No。。。请看二维码。。如果(result.format==“QR\u CODE”)我想在iThanks中做一个ajax调用,你看到行了吗。。我做了ajaxCall()然后我把它放在后面,就像你说的。。。还是一样。。它会扫描,当它完成时,没有调用ajax会影响其他ajax调用工作吗?你确定(result.format==“QR\U代码”)在某个时候是真的吗?尝试在ajaxCall()中向控制台打印一些内容,看看是否会打印出(result.format…是一个phonegap插件,它工作100%正常..但是ajaxCall()我不确定最初的ajax调用是否有效。我只需点击一个按钮,就将其分配给它,但它不起作用。为什么?那么您的问题是您的ajax不起作用。您是否正确地以您的样式链接了文件?以及jquery.js?请发布您的HTML代码