Jquery表单提交和JSON数据类型返回

时间:2010-09-15 02:24:01

标签: jquery json

我正在使用Jquery表单插件通过ajax发送我的表单。服务器端 php脚本处理表单数据并返回以下JSON字符串 格式:

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

这是发送表单的ajax:

$('#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 个答案:

答案 0 :(得分:1)

尝试在陈述ajaxForm

之前停止提交表单
$('#register_form').submit(function(ev){ ev.preventDefault(); });

看起来jquery无法成功阻止在IE上提交表单。你还使用哪种IE?