2011-08-11 19 views
1

私はdjangoでajaxをフックすることができましたが、私は次の問題に取り掛かりました。私のAjaxの機能で は、私はこれがあります。ajaxとdjangoを接続する

function submitForm() { 
var contactForm = $(this); 

if (!$('#senderName').val() || !$('#senderEmail').val() || !$('#message').val()) { 

$('#incompleteMessage').fadeIn().delay(messageDelay).fadeOut(); 
contactForm.fadeOut().delay(messageDelay).fadeIn(); 

} else { 

$('#sendingMessage').fadeIn(); 
contactForm.fadeOut(); 

$.ajax({ 
url: contactForm.attr('action') + "?ajax=true", 
type: contactForm.attr('method'), 
data: contactForm.serialize(), 
success: submitFinished 
}); 
} 

return false; 
} 

を、ビューは次のようになります。

def postMessageForm(request): 
if request.POST: 
print "POST" 

if request.GET: 
print "GET" 

私は、コードが続くので、バックの成功変数を送信するためにビューを伝えるにはどうすればよいですか? PHPでは、次のようなものになります。 .... if(isset($ _ GET ["ajax"])){ echo $ success? "成功": "エラー";事前に

おかげ

答えて

1

なるほど、それは

if 'ajax' in request.GET: 
    return HttpResponse(simplejson.dumps({'success':'success','other_stuff':})) 

else: 
    return HttpResponse(simplejson.dumps({'success':'error','other_stuff':})) 

である。しかしuが、要求が返信用request.is_ajax()

+0

感謝を使って、アヤックスであるかどうかを確認することができます。しかし、simplejsonを使わずにこれを解決する他の方法はありますか? –

+0

代わりにプレーンテキスト "success"または "error"で置き換えることができます。 https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpResponse – goh

+0

ありがとうございました。 –

関連する問題