Bir kullanıcı adı alınmış olup olmadığını kontrol etmesi gereken bir işlev yazdım.Bir JQuery AJAX çağrısının yanıtını döndürme
alert(checkusernameavailable('justausername'));
o 'tanımsız' diyor: Başka bir işlevinden işlevini çağırın ve uyarmak Şimdi zaman dönüş değeri bu. Yüksek ve düşük aradım ama yanlış yaptığımı bulamıyorum. Sanırım sadece php-echo'yu check.php içinde döndürmeliyim, ama değil. Yazdığım fonksiyon:
var checkusernameavailable = function(value) { $.ajax({ url: "check.php", type: "POST", async: false, cache: false, data: "username=" + value + "", success: function(response) { alert(response); return response; }, error: function() { alert('ajax error'); } }); }
Neyi yanlış yapıyorum?
Cevabınız için teşekkür ederim, anlıyorum. Ama sorunumu çözmez. Biraz daha istediğimi açıklamama izin ver. Formumun gönderildiği zaman tetiklenen başka bir işlev içinden checkusernamea işlevini çalıştırıyorum. Yani ne yapıyorum: if (! Checkusernameavailable (username_box.val())) { false; // // formunu göndermeyin ve bazı kutuların kırmızı olmasını sağlayın, çok dilli hata mesajlarının gösterilmesini engelleyin (Hangi - btw - yanıtımı doğrudan html'ye ekleyememem anlamına gelir ...) } –
@ user468893 - Bkz. Düzenle. Async AJAX çağrınızı senkronize etmeniz gerekir. – GenericTypeTea
Zaten oldu, ama bu hile değildi :) Dönüş değeri büyü yaptı. Teşekkürler! –