Я делаю AJAX-вызовы с использованием jQuery в Django.Кажется, все работает нормально, за исключением того, что вызов ajax не возвращается, в результате чего функция успеха не выполняется.Это мой файл jquery
$.ajax({
type: "POST",
url: "/contact_us/",
data: {
'name': name_val,
'email': email_val,
'message': message_val,
'subject': subject_val,
'cc': cc_val,
},
success: function()
{
// display success message and reset values in the form fields
$("#reply-message").html('Your message has been sent!').fadeOut(3000, function() {});
// clear the fields
$("#contact-name").val("");
$("#contact-email").val("");
$("#contact-message").val("");
$("#contact-subject").val("");
}
});
Я не знаю, что возвращать в представлении для вызова AJAX, поэтому сейчас я просто возвращаю фиктивное сообщение, но оно не работает.Вот views.py
def contact_us(request):
if request.is_ajax():
if request.method == 'POST':
name = request.POST.get('name', False)
email = request.POST.get('email', False)
message = request.POST.get('message', False)
subject = request.POST.get('subject', False)
cc = request.POST.get('cc', False)
recipients = ['abc@gmail.com']
if cc:
recipients.append(email)
from django.core.mail import send_mail
send_mail(subject, message, email, recipients)
return_message = "Sent mail"
return Httpresponse(return_message)
Возвращаемое сообщение пустое, я даже не хочу обрабатывать его в своем ответе.Но почему вызов ajax не возвращается, остальное все работает нормально, и я также получаю письмо.
Я только что понял, что допустил очень глупую ошибку, я написал Httpresponse, тогда как это должен быть HttpResponse.Теперь он работает абсолютно нормально