刚打仗学会用jQuery ajax的时刻,以为真东西好奇异,如许就能够把数据取回来了啊。然后我能够把取回来的数据衬着到页面上,一颗赛艇。
之前很早打仗到项目,并不晓得怎样文雅的去用jquery ajax(如今也不文雅);
那个时刻看他人写的代码
有
$.post("","",...)
也有
$.get("","",...)
另有
$.ajax()
固然如今晓得点,这些写法都是一个意义,照样习习用$.ajax()
写写吧。
之前的数据处置惩罚,发送数据要求(json的数据格式),然后本身经由过程下面的体式格局
var request = {};
request.name = $(".name").val();
request.age = $(".age").val();
request.sex = $(".sex").val();
//...
当时表单发送的参数项少,所以没以为什么,到厥后一个表单许多项数,也这么写,效果request
就手工写了好多行,虽然能用吧,然则看看如许的代码就觉着那里不对劲吧,最少很不“文雅”。
厥后,发明实在jquery有个serialize的要领能够序列化表单数据,能够费事许多。
w3c_jquery_serialize-demo
处置惩罚返回数据,衬着到页面上去。
之前的做法也是和上面如出一辙的吧,返回的数据是json数据格式的,然后离别取值赋值给页面元素,所以代码往往是如许的。
假如数据再多点,真的是觉得略丢脸。实在应该是有更好的做法的,返回的是一个json对象,所以我们能够经由过程遍历对象的属性值取到一切值然后顺次衬着到页面对应元素即可。
对象遍历能够用for-in
来写(有更好的要领来写么?)
$.ajax({
//...
success:function(result){
for(var v in result){
// 假如衬着的元素都是一致的输入框情势的话,
$("form").find("input[name="+ v +"]").val(result[v]);
// 假如有其他元素 则别的零丁校验处置惩罚
}
}
})
上面name(或许其他tag在页面中先写好,和返回数据的属性一致)。
假如有什么更好的计划,请指教,感谢!
别的摘记一个表单输入框中回车 自动提交的状况和处置惩罚计划