AJAX ile geri ve ileri bilgi gönderme

5 Cevap php

$. Yazı ile, sunucuya bilgi göndermek, ancak ne sunucudan bilgi almak için gereken zaman?

Nasıl bilgi değişimi tersi bir javascript değişken ve elde tutulabilir bir şekilde olmanın bir php değişkeni tarafından tutulabilen bir yol olmaktan yapar?

5 Cevap

Bu soru için daha alakalı: http://docs.jquery.com/Ajax/jQuery.post

(Iade edildi ne bağlı olarak, HTML veya XML) dnm.php sorulmasından sonuçlarını uyarın.

$.post("test.php", function(data){
  alert("Data Loaded: " + data);
});

(Iade edildi ne bağlı olarak, HTML veya XML) ek bir veri yükü ile dnm.php sorulmasından sonuçlarını uyarın.

$.post("test.php", { name: "John", time: "2pm" },
  function(data){
    alert("Data Loaded: " + data);
  });

Dnm.php sayfa içeriğini alır, bir XMLHttpResponse nesne saklamak ve süreci () JavaScript işlevini uygular.

$.post("test.php", { name: "John", time: "2pm" },
  function(data){
    process(data);
  }, "xml");

("John", "zaman" => "02:00")) json formatında iade edilmiştir dnm.php sayfa içeriğini alır; >)

$.post("test.php", { func: "getNameAndTime" },
  function(data){
    alert(data.name); // John
    console.log(data.time); //  2pm
  }, "json");

) json_encode() and json_decode() . These are now part of PHP, and allow you to switch back and forth between PHP arrays and associative arrays (or stdClass objects) and javascript arrays or objects (as a JSON literal göz atın.

Esasen, yerine xml veya html dönen yapmanız echo json_encode($all_my_php_data); ve bir javascript nesnesi geri alabilirsiniz.

Eğer $. Mesaja () türü parametresi olarak 'json' geçerseniz, başarı arama size PHP komut yankılandı var JSON nesnesi içerir.

$.post() documentation

Sonra sunucudan geri gönderilen içeriği almak gerekir. Sadece $ için geri çağırma işlevi tanımlayın. 'Veri' parametresi ile gönderebilirsiniz. Örneğin:

$.post('/index.php', { key: 'value' }, function(data) { alert(data); });

JQuery otomatik olarak işleyebilir böylece döndürülen değerin türünü belirtebilirsiniz. Eğer PHP komut dosyası JSON değerini dönerseniz, o zaman sonunda ek bir parametre eklemek gerekir:

$.post('/index.php', { key: 'value' }, function(data) {
    alert(data.someItem);
  }, 'json');

Eğer ilk şey ilanı veya almadan PHP sunucudan veri almak gerekiyorsa, o zaman Comet uygulamak gerekir. Ama bu biraz daha fazla iş var :)

jQuery.post fonksiyon "callback" bölümü bakmak istiyorum ne olduğunu.

Http Eğer sunucuya istemci (web tarayıcısında javascript) ve ikincisi tarafından döndürülen sonra işlem bilgilerden bir isteği gerçekleştirmek. Yönlü bilgi hem iletişim temsil edildiği bir seçim size kalmış.

AJAX (muhtemelen jQuery ile) kullanırken genellikle bir JSON değişmezi (kullanarak yanıt kodlamak json_encode olarak biçimlendirilmiş, tarayıcıya bilgi dönmek için sorumlu olacak bir php işleyicisi bir istek yapabilirsiniz ()) Brian tarafından önerilen. Sonunda bir javascript nesne elde etmek (jQuery kullanarak örneğin) istemci üzerinde ayrıştırmak olacaktır.

($. Sonrası (url, [data], [callback], [type]) fonksiyonu otomatik olarak yanıt ayrıştırma ve kimin imzası (veri, textStatus) burada {[(0) geri olmalıdır geri arama işlevi, onu verecektir }] olan ayrıştırılır nesne ve textStatus başarı veya başarısızlık durumunu bildirir (jQuery.post).