Отправка формы Jquery и возвращение типа данных JSON - PullRequest
0 голосов
/ 15 сентября 2010

Я использую плагин формы Jquery для отправки формы через ajax.Серверный php-скрипт обрабатывает данные формы и возвращает строку JSON в следующем формате:

{"error":true,"message":"The username or email already exists. Please try again."}

Вот код для отправки формы:

$('#register_form').ajaxForm({ 
            dataType: 'json',
            contentType: "application/json; charset=utf-8",
            success:    showResponse

        }); 
});  

Затем на моей html-странице, У меня есть следующий скрипт:

<script>
function showResponse(data){

if (data.error == true){
    //display the top error div
    if ($("#registration_error").is(":hidden")) {
        $("#registration_error").html(data.message);
        $("#registration_error").slideDown("slow");
    } 

}
else{
    alert('registration complete');

}


}
</script>

Ошибка отображается над формой регистрации на моей HTML-странице.Это работает в Chrome и Firefox.Тем не менее, IE стирает форму и отображает новую страницу только с ответом JSON, например:

{"error": true, "message": "Имя пользователя или адрес электронной почты уже существует. Пожалуйста, попробуйте еще раз."}

Не могу понять, почему у IE проблемы с этим.Пожалуйста, помогите.

1 Ответ

1 голос
/ 15 сентября 2010

Попытайтесь остановить отправку формы, прежде чем указать ajaxForm

$('#register_form').submit(function(ev){ ev.preventDefault(); });

Похоже, jquery не смог успешно предотвратить отправку формы в IE. Какой IE вы использовали в любом случае?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...