2015-04-07 4 views
1

я есть форма входа, которые отображаются в диалоговом окне в JQuery мне нужно передать переменную из PHP в моей JQuery с использованием Ajax & метод JSon проблема заключается в том, что функция успеха в AJAX не работает, и я всегда получаю функцию ошибкиФункция успеха в Ajax не работает При использовании JSon

вот мой как PHP и JQuery код:

Jquery:


$(document).ready(function() { 

    $(".logbut").click(

     function() { 

     $(".login").dialog({ 
       width: 400, 
       height:320, 
     modal: true,  
     autoOpen: true, 
     resizable: false, 

     show: { 
      effect: "blind", 
      duration: 3000 
     }, 
     hide: { 
      effect: "drop", 
      duration: 1000 
     }, 

      buttons: { 
        'login': function() { 

         $.ajax({ 
          url:"login.php", 
          type: 'POST', 
          dataType:"json", 


          success: function(data) { 
           if(data.status == 'success'){ 
           alert("Thank you for subscribing!"); 

           }else if(data.status == 'error'){ 
           alert("Error on query!"); 
           } 
          }, 
          error: function(){ 

          alert("the ajax doesnt work"); 
          } 
        }) 
        } 
      } 
     }) 
     }) 
}); 

login.php:


<?php 


    $serverName = "AMIN-PC"; 


    $connectionInfo = array("Database"=>"Market"); 
    $conn = new PDO("sqlsrv:Server=AMIN-PC;Database=Market"); 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

    $response_array = array(); 

    if($conn === false) { 
    die(print_r(sqlsrv_errors(), true)); 
} 


    $passorg = $_REQUEST['passorg']; 
    $passorg = $conn->quote($passorg); 

    $userorg = $_REQUEST['userorg']; 
    $userorg = $conn->quote($userorg); 


    $sql = "select count(*) from customers 
    where customers_user=$userorg 
    and customers_pass=$passorg"; 

    $stmt = $conn->query($sql); 
    $result = $stmt->fetch(); 
    $count = $result[0]; 


    if($count >0) { 
    $response_array['status'] = 'success'; 
    } 
    else{ 
    $response_array['status'] = 'error'; 

} 
    header('Content-type: application/json'); 
echo json_encode($response_array); 
    ?> 

HTML:


<div class="logbut">Login</div> 



    <div class="login" style="display:none;"> 

    <form method="post" class="logform" action="login.php"> 

    <input type="text" name="userorg" style=" width:80px;" class="userorg" /> 
    <label>Username</label> 


    <input type="password" name="passorg" style=" width:80px;" class="passorg"/> 
    <label>Password</label> 

<input type="submit" style="display:none" value="check"/> 
</form> 
</div> 

Благодаря

+0

показать ошибку, которую вы получаете в ajax responce – Saty

+0

Вы должны проверить точный ответ в консоли, возможно, есть другой вывод, например, спецификация. – jeroen

ответ

1

Вы можете попробовать указать параметр данных следующим образом в Ajax запроса:

$.ajax({ 
    url:"login.php", 
    type: 'POST', 
    dataType:"json", 
    data:{passorg:value of passorg}, 
    success:.... 
1

вы должны передать переменные в AJAX и получить эти переменные в PHP, например:

$.ajax({ 
    url: "your url", 
    type: "POST", 
    cache: true, 
    dataType:'json', 
    data: {id: cid}, 
    success: function(returnedData){ 
     console.log(returnedData); 
    }, 
    error: function (xhr, tst, err) { 
     console.log(err); 
    } 
}); 

PHP

$_REQUEST['id']; 
Смежные вопросы