2017-02-21 18 views
0

Я пытаюсь создать регистрационную форму для django 1.10, и она почти отлично работает, за исключением того, что когда я делаю сообщение, работает нормально, но перенаправляется на URL-адрес сообщения ajax и в инспекторе Chrome. Я вижу что-то вроде этого: ресурс, интерпретируемый как документ, но переносимый с помощью приложения типа MIME/json: «http://127.0.0.1:8500/reg/».Django json, Resource интерпретируется как Документ, но передается с приложением типа MIME/json:

А затем отображает мой ответ JSON: { «рег»: «OK», «электронная почта»: «[email protected]»}

Из-за этого нежелательного перенаправлением я не могу справиться отклика от страницы, у меня есть моя форма.

Это мой Аякс:

$('#botonregistro').on('submit', function(e) { 
e.preventDefault(); 
console.log("reg!") // sanity check 

$.ajax({ 
    url: "/reg/", // the endpoint 
    type: "POST", // http method 
    data: { 
    username: $('#id_username').val(), 
    password: $('#id_password').val(), 
    email: $('#id_email').val(), 
    sexo: $('#id_sexo').val(), 
    interes: $('#id_interes').val() 

    }, // data sent with the post request 

    success: function(response) { 
    $('.home-reg-form').empty(); 
    console.log(json); 
    console.log("success"); 
    }, 

    error: function(response) { 
    $('.home-reg-form').empty(); 
    $('.home-reg-form').html("<div class='alert-box alert radius' data-alert>Oops! We have encountered an error: <a href='#' class='close'>&times;</a></div>"); // add the error to the dom 
    } 
}); 

}); 

И это мой вид из почтового URL:

def reg_ajax(request): 
    if request.method == 'POST': 
     uname = request.POST.get('username') 
     email = request.POST.get('email') 
     psw = request.POST.get('password') 

     user = User.objects.create_user(username=uname, email=email, password=psw) 

     response = JsonResponse({'reg':'ok', 'email': email}) 
     return response 

    else: 
     response = JsonResponse({'reg':'error'}) 
     return response 

Я считаю, что код хорошо, но, возможно, я что-то пропустил.

+0

Попробуйте передать 'dataType: 'json''' '.ajax()'. Помогает ли это? –

+0

Спасибо за ответ, уже пробовал это, но безуспешно :( –

+0

Как быстро исправить, попробуйте изменить тип ответа на простой текст. –

ответ

-1

мне не удалось опубликовать свой HTML код формы, произошла ошибка, связанная с этим, в частности, в этой части:

$('#botonregistro').on('submit', function(e) 

Мой селектор является неправильным, что идентификатор из моей кнопки отправки вместо моей формы ид ,

Спасибо за все ваши ответы, мне все еще нужно учиться на ошибках новобранец.