Javascript ajax表单提交使用什么返回类型?
我有一个“新帖子”表单,它在UI中是模态的。当用户提交它时,ajax调用会将它发布到我的内容控制器中的newpost操作。我的问题是,控制器的响应类型应该是什么Javascript ajax表单提交使用什么返回类型?,javascript,json,validation,Javascript,Json,Validation,我有一个“新帖子”表单,它在UI中是模态的。当用户提交它时,ajax调用会将它发布到我的内容控制器中的newpost操作。我的问题是,控制器的响应类型应该是什么 如果表单进行了验证,我想对UI竖起大拇指,这样它就可以关闭模式窗口并继续进行操作。我怀疑JSON在这里是一个更好的选择,因为自省HTML并不是那么干净 如果表单未验证,我需要返回替换HTML(这是重新呈现的表单,包括错误消息) 我倾向于总是返回JSON对象。第一个属性是布尔成功/失败指示器。如果插入失败,则会有第二个属性包含替换HT
- 如果表单进行了验证,我想对UI竖起大拇指,这样它就可以关闭模式窗口并继续进行操作。我怀疑JSON在这里是一个更好的选择,因为自省HTML并不是那么干净
- 如果表单未验证,我需要返回替换HTML(这是重新呈现的表单,包括错误消息)
谢谢 对您的问题的简短回答:JSON 您不必通过ajax响应返回html,您可以通过DOM元素处理消息传递,例如:
$.ajax({
type: "POST",
url: "login.php",
success: function(data) {
if (data.field.status == 'failure') {
if (data.field.username == 'fail') {
$("div#usernameError").show();
}
if (data.field.password == 'fail') {
$("div#passwordError").show();
}
} else {
$("div#loginOverlay").dialog("close");
}
},
dataType: "json"
});
考虑以下两个JSON响应:
{
"status": "error",
"fields": ["username", "password"],
"message": "Please enter valid username and password"
}
与其替换整个表单,我建议您有一个回复,只回复重要的部分
此外,每次你使用
innerHTML
,上帝都会杀死一只小猫。。而且您的DOM结构和引用也会被破坏。这使得JS代码非常脆弱。嘿,迈克,这真是太好了。谢谢。您甚至可以扩展它,使json包含密码输入无效的原因;不匹配、字符数过低等。
{
"status": "ok",
"redirect": "http:/who.cares/form/complete"
}