Sunucuya bir AJAX çağrısı ile işleri manuel olarak yapmanız gerekecek. Bu, formu da geçersiz kılmanızı gerektirecektir.
Ama endişelenme, bu çocuk oyuncağı. Formunuzla nasıl çalışacağınızla ilgili bir genel bakış:
- varsayılan gönderme eylemini geçersiz kılın (bir
preventDefault
yöntemi olan olay nesnesinde geçirilen sayesinde )
- formdan gerekli tüm değerleri alın
- HTTP isteğini ateşlemek
- talebe verilen yanıtı işlemek
Öncelikle, aşağıdaki gibi form gönderme işlemini iptal etmeniz gerekir:
$("#myform").submit(function(event) {
// Cancels the form's submit action.
event.preventDefault();
});
Ve sonra, verilerin değerini kavrayın. Bir metin kutunuz olduğunu varsayalım.
$("#myform").submit(function(event) {
event.preventDefault();
var val = $(this).find('input[type="text"]').val();
});
Ve sonra bir isteği ateşleyin. Bunun bir POST isteği olduğunu varsayalım.
$("#myform").submit(function(event) {
event.preventDefault();
var val = $(this).find('input[type="text"]').val();
// I like to use defers :)
deferred = $.post("http://somewhere.com", { val: val });
deferred.success(function () {
// Do your stuff.
});
deferred.error(function () {
// Handle any errors here.
});
});
Ve bunu yapmalı.
Not 2: Form verilerini ayrıştırmak için bir eklenti kullanmanız tercih edilir . Hayatınızı gerçekten kolaylaştıracak ve gerçek bir form gönderme eylemini taklit eden güzel bir anlam bilgisi sağlayacaktır.
Not 2: Erteleme kullanmak zorunda değilsiniz. Bu sadece kişisel bir tercih. Aşağıdakileri eşit şekilde yapabilirsiniz ve bu da işe yaramalıdır.
$.post("http://somewhere.com", { val: val }, function () {
// Start partying here.
}, function () {
// Handle the bad news here.
});