2014-10-10 4 views
0

Я не могу отправить запрос POST в мой php-файл с помощью AJAX. У меня два файла, первый - index.php, а второй isVerificationStatusAPIV2.php. Содержание index.php являются:Невозможно отправить запрос POST с использованием AJAX

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>Phone Verification by Dial2Verify API V2 (www.dial2verify.com)</title> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script type="text/javascript"> 
var attempt=1; 
var transactionToken=""; 

    $(document).ready(function(){ 
     $("#enter_number").submit(function(e) { 
     e.preventDefault(); 
     initiateDial2Verify(); 
     }); 
    }); 

    function initiateDial2Verify() { 
     showCodeForm(1); 
     GetVerificationImage(); 
    } 

    function showCodeForm(code) { 
     $("#dial2verify").fadeIn(); 
     $("#enter_number").fadeOut(); 
     $("#waiting_msg").text("Waiting for missed call from "+$("#phone_number").val()); 
    } 

    function GetVerificationImage() { 
     $.post("GetImageAPIV2.php", { phone_number : $("#phone_number").val() }, 
       function(data) { updateImage(data.img,data.transactionToken); }, "json"); 
    } 



    function updateImage(img, vtransactionToken) { 




          $("#Image").html("Please give a missed call to <br><img src=\""+img+"\"/>"); 

         transactionToken = vtransactionToken; 
         PollStart("0"); 
          } 


    function CheckStatus() 
    { 
     $.post("VerificationStatusAPIV2.php", { transactionToken : transactionToken }, 
       function(data) { PollStart(data.status); }, "json"); 
    } 


    function PollStart(vStatus) 
    { 
        attempt =attempt+1; 
        if (attempt >= 90 ) { TimeoutCheck(); } 
        else 
        if (vStatus === "0") { 
         $("#status").html("Please give a missed call in <b><i>"+(90-attempt) +"</i></b> seconds."); 
         setTimeout(CheckStatus, 1000); 
         }       
        else if (vStatus === "1") 
        { 
        success(); 
        } 
        else 
        TimeoutCheck(); 

    } 


      function Err() { 
      $("#status").html("Error!<br>Sorry something went wrong, Please cross check your telephone number."); 
      } 

    function success() { 
     $("#status").text("Congrats !!! Phone Number Verified!"); 

    } 

    function TimeoutCheck() { 
     $("#status").text("Verification Failed!"); 
    } 

</script> 
</head> 
<body> 
<form id="enter_number"> 
    <p>Enter your phone number:</p> 
    <p><input type="text" name="phone_number" id="phone_number" /></p> 
    <p><input type="submit" name="submit" value="Verify" /></p> 
</form> 

<div id="dial2verify" style="display: none;"> 
    <p id="waiting_msg"></p> 
    <p id="Image">Loading ..</strong></p> 
      <p id="status">Loading ..</strong></p> 
</div> 
</body> 
</html> 

В функции CheckStatus() Я посылаю пост запрос с использованием AJAX в файл VerificationStatusAPIV2.php но это не делает любой запрос пост. может кто-нибудь сказать, что в этом плохого?

Обновление Я только что увидел, что «статус» в «data.status» в func CheckStatus() имеет желтый цвет, а другие - в синем цвете. может быть, проблема?

+0

Не было бы лучше не использовать submit, который вы пытаетесь предотвратить, но вместо этого просто запускаете rel функции evant после щелчка? –

+0

@RoyalBg Да, но моя проблема в том, что я не могу отправить запрос на отправку (в функции CheckStatus()). – Ashish

ответ

0

В коде отрезала единственное место, у вас есть CheckStatus кроме мазута для функции itselft эта линия ... setTimeout(CheckStatus, 1000); так, если это вызов функции это должно быть так: setTimeout(CheckStatus(), 1000);

Это может быть ваша проблема.

+0

Не работает ни то, ни другое. – Ashish

0

Попробуйте изменить <input type="submit" name="submit" value="Verify" /> к <input type="submit" id="btn_enter" name="submit" value="Verify" />

и в ЯШ:

$("#btn_enter").submit(function(e) { 
    e.preventDefault(); 
    initiateDial2Verify(); 
    }); 

вы наведя представить функцию ID HTML-формы в

var request=$.ajax({ 
    method:"POST", 
    url:"VerificationStatusAPIV2.php", 
    data:{ transactionToken : transactionToken }, 
    dataType:"json" 
    }); 
request.success(function(data){ 
    PollStart(data.status); 
}); 
+0

Это не моя проблема. Я сказал, что я не могу отправить запрос на отправку в CheckStatus():/ – Ashish

+0

вы попробовали мой ответ? –

+0

@ Sebastien.Beaulieu скобки не нужны в «SetTimeout», function – CapitanFindus

Смежные вопросы