AJAX (jQuery) Tepki

0 Cevap php

Uygulamanızda tüm formlar bu yapıya sahip varsayalım:

<div id="result_messages"></div>
<form action="/action">
<!-- all the form -->
</form>

Bu form için bir gönderme düğmesi, bu gibi görünüyor:

<input type="button" onclick="$.post( '/action', $(form).serialize(), function (data) {
   $('#result_messages').html( data );      // At this point the 'data' is an standard HTML with a message
});" />

ANCAK, Ama her zaman yanıt verileri bir mesaj olup algılamak için nasıl ... bir mesaj değil???:

<input type="button" onclick="$.post( '/action', $(form).serialize(), function (data) {
   if (isMessage( data ))
       $('#result_messages').html( data );      
   else
        doActionWith( data );
});" />

Belki bir çözelti JSON kullanımı:

{ response_type : 'message', data: 'all_data_here' }

{ response_type : 'nomessage', data: 'all_data_here' }

Diğer çözüm verilerin başlayacak özel bir dize koymak için:

<!--message--><ul><li>form was processed</li></ul>

Eğer başka fikirler var mı? Eğer bu çözümler hakkında ne düşünüyorsun?

0 Cevap