jQuery sonrası seçenekleri

4 Cevap php

Ben sadece çalışmak değildir. Ben PHP sunucuya bir POST isteği göndermek gerekir. Bu, takip edilmelidir:

Array ( [username] => 'username' [password] => 'password' [action] => 'login' ) 

Ben bir önyüz olarak bir form var ve ben kullanıcı ve şifre almak için. Serialize () kullanın. Ama nasıl eylem anahtar / değer ekleyebilirsiniz?

Şimdilik ben sadece "&action=login" gibi elle dize eklemek ama bu çözüm sevmiyorum. Bir diğer sorun ben herhangi bir jQuery eklentileri, sadece jQuery kendisi kullanamazsınız olmasıdır.

4 Cevap

var usr = $("[name='username']").val();
var pwd = $("[name='password']").val();
var act = $("[name='action']").val();

$.post("script.php", {username:usr, password:pwd, action:act}, function(rst){
  alert(rst); // alerts 'Thank you [username], your data has been received.'
}, "html");

Ve için kod script.php benzer olmalıdır:

if ($_POST) {
  echo "Thank you " . $_POST["username"] .", your data has been received.";
} else {
  echo "Nothing found.";
}

Sen jQuery POST verilerini istiyorsun? Deneyin:

$.post("your/controller/url.php", {username:'myname', password:'mypassword',action:'login'}, function(data){
   //do something when answer from your php backend arrives
},'json');

Php backend siz Usuall $ _POST erişebilir, cevap JSON (zorunlu değil, ama ben tavsiye edeceğiz) olmalıdır

AJAX tabanlı uygulamaları aynı sorunla karşılaşırsanız. Bunu yapmak için hiçbir zarif yolu yoktur. Ben bu şekilde kullanıyorum:

<form id="foo">
     <input type="hidden" id="action" name="action" value="login" />
     <input type="text" id="username" ....
...
</form>

Bu şekilde elle dizeleri eklemek zorunda değilsiniz.

Eğer Gönderdiğiniz veri nesnesine daha fazla veri eklemek için çalışıyor musunuz? Sen böyle bir şey deneyebilirsiniz:

var data = form.serializeArray();
data.push({'action':'login'});

$.post("/url", data, function(){ callback goes here}, 'json');