Nasıl AJAX / jQuery ile baskı gösterebilirim?

3 Cevap php

Yani bütün bu AJAX / jQuery şeyi anlamaya çalışıyorum. Ben yalnız bu PHP komut dosyası çalıştırdığınızda şu anda, ben bu döngü ile yapıldığını ve daha sonra yük olacak kadar patinajı beklemek ve izlemek zorunda kalacak.

while ( $row = mysql_fetch_array($res) ) {
    postcode_to_storm( $row['Test'] );

    $dom = new DOMDocument();
    @$dom->loadHTML($result);
    $xPath = new DOMXPath($dom);

    $failInvite = 'Rejected';
    $findFalse = strpos($result, $failInvite);

    if ( $findFalse == true ) {
        $array[$i] = $row['Test'];
        $i++;
        echo $array[$i]};
    } 

}

Şimdi, nasıl AJAX / jQuery yerine tüm süreç tamamlamak için bekleyen çağrılır echo $array[$i]}; her göstermek için nasıl kullanabilirim?

3 Cevap

AJAX çalışır yolu ilk isteği ile geri sunucuya çağırır ve daha fazla veri sorar bazı javascript dahil olmak üzere, web sayfasının temel HTML yazmak olmasıdır. Sayfa daha fazla veri elde etmek için işlenir sonra size veri göndermek için planı ne bağlı olarak, bir veya daha fazla istekleri yapabilir. AJAX kullanarak size veri sunma konum hakkında yeniden düşünmeye gerektirecektir. Tabii ki, onlar aynı olabilir, sadece farklı parametrelerle - Örneğin, daha sonra başka bir "script" veri almak için, sayfa yüklemek için bir "komut dosyası" gerekir. Ben daha fazla veri anlayış ve nasıl teslim oluyor gerektirir sizin örnek üstlenmeden yana göstermek için basit bir örnek ekleyeceğiz. Bu örnek, w3schools.com arasındadır.

HTML:

<script type="text/javascript">
   $(function() {
       $('#users').change(function() {
          // here's the AJAX bit 
          $.get( '/users/load.php?q=' + $(this).val(),
               function(html) {
                  $('#txtHint').html(html);
          });
       });
   });
</script>
</head>
<body>

<form>
<select name="users">
<option value="">Select a person:</option>
<option value="1">Peter Griffin</option>
<option value="2">Lois Griffin</option>
<option value="3">Glenn Quagmire</option>
<option value="4">Joseph Swanson</option>
</select>
</form>
<br />
<div id="txtHint"><b>Person info will be listed here.</b></div>

</body>
</html>

PHP

<?php
$q=$_GET["q"];

$con = mysql_connect('localhost', 'peter', 'abc123');
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("ajax_demo", $con);

$sql="SELECT * FROM user WHERE id = '" . mysql_real_escape_string( $q ) . "'";

$result = mysql_query($sql);

echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Hometown</th>
<th>Job</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['FirstName'] . "</td>";
  echo "<td>" . $row['LastName'] . "</td>";
  echo "<td>" . $row['Age'] . "</td>";
  echo "<td>" . $row['Hometown'] . "</td>";
  echo "<td>" . $row['Job'] . "</td>";
  echo "</tr>";
  }
echo "</table>";

mysql_close($con);
?>

Bu yıldızın benzer. Burada farklara bir göz atın: http://ajaxian.com/archives/comet-a-new-approach-to-ajax-applications

Burada bir lamba yığını ile özellikle PHP zorluklar bahsediyor bir yazı var: http://www.phpclasses.org/blog/post/58-Responsive-AJAX-applications-with-COMET.html - 2006 yılında yayınlanmıştır gibi biraz tarihli olabilir, ama noktası olsun.

Genellikle vanilya "ajax" Açık bir sayfayı yeniden olmadan bazı sonlu bilgi (http isteği tamamlar), için bir istemci başlatılan isteği hakkında konuşurken bahsederken.

Üretildiği bir kez Yani, sunucu ayrı ayrı her veri parçası göndermek istiyor? Korkarım, http istekleri ile böyle bir özelliği yoktur. Bunu kapatmak zorunda ve daha sonra yanıt tarayıcıya gönderilir.

Sen pagination çeşit ile, çeşitli istekleri göndererek düşünebilirsiniz.