2017-04-23 67 views
-1

我对如何做AJAX请求有一个基本的想法,但我真正想要的是在获取数据后立即发送响应,而不是等待所有mysql查询结果完成。有没有办法做到这一点?你能提出一个想法吗?立即发送响应PHP jquery AJAX

我真是越看越是例如:

当文档准备好,然后在客户端应在所有名单中的数据库发送请求。 虽然服务器端的PHP获取数据,但它会将行作为json发送,然后客户端继续解析这些响应,直到服务器端无法再获取行。

可能吗?如果是这样,你有想法吗?

+0

你是在谈论某种流? – FirstOne

+0

你的意思是说你想立即在另一个Ajax调用第一个Ajax调用响应? –

+0

@FirstOne呀:) –

回答

-1

我对此有一小段代码。可能是你接受!

JQuery的:

<script> 

    $(document).ready(function() { 
     view(); 
    }); 

    function register() 
    { 
     var f = $('#fname').val(); 
     var l = $('#lname').val(); 

     $.ajax({ 
      url:'index.php/control/insert', 
      data :{fname : f, lname : l}, 
      type:'post', 
      success:function(msg){ 
       return view(); 
      } 
     }); 
    } 

    function view() 
    { 
     $.ajax({ 
      url:'index.php/control/show', 
      data :{}, 
      type:'post', 
      success:function(msg){ 
       $('#table').html(msg); 
      } 
     }); 
    } 
</script> 

HTML表单:

<form action="" method="post"> 
    <table align="center" border="11"> 
     <tr> 
      <td>First name</td> 
      <td><input type="text" name="fname" id="fname" /></td> 
     </tr> 
     <tr> 
      <td>Last Name</td> 
      <td><input type="text" name="lname" id="lname" /></td> 
     </tr> 
     <tr> 
      <td colspan="2"><input type="button" id="submit" name="submit" onclick="register()" value="Register"></td> 
     </tr> 
    </table> 
</form> 

我对MySQL的功能控制器:

public function insert() 
{ 
    $sql = "INSERT INTO MyGuests (firstname, lastname) VALUES ('".$_REQUEST['fname']."', '".$_REQUEST['lname']."')"; 

    if ($conn->query($sql) === TRUE) { 
     echo "New record created successfully"; 
    } 
} 
public function show() 
{ 
    $sql = "SELECT * FROM MyGuests"; 

    if ($data = $conn->query($sql) === TRUE) { 
     echo "New record created successfully"; 
    } 

    echo "<br><table border='1' align='center'> 
      <tr> 
       <th>Firstname</th> 
       <th>Lastname</th> 
      </tr>"; 
      foreach($data as $s) 
      { 
       echo "<tr><td>".$s->fname."</td>"; 
       echo "<td>".$s->lname."</td></tr>"; 
      } 
    echo "</table>" ; 
} 

确保代码没有进行测试,这是对您的要求的样品,旨在意识到即时呼叫功能。这里我在将数据插入数据库之后调用了view()函数。

+0

Ooooh。我想我现在就明白你的想法。谢谢 :) –