实例一:
$.ajax({ type:"POST",url: "ziyuan/userInfoZYAction_add.action",data:{"userInfo.username":username,"userInfo.zhye":zhye,"userInfo.xydj":xydj,"userInfo.dzyx":dzyx,"pageSize":pageSize},dataType: "json",success:function(userInfos) { if(userInfos!=null){ var USEID=userInfos['userid']; var username=userInfos['username']; var zhye=userInfos['zhye']; var dzyx=userInfos['dzyx']; var xydj=userInfos['xydj']; w1.close(); alert("添加成功"); grid_1.addRow(USEID,username+","+zhye+","+xydj+","+dzyx); grid_1.selectRow(grid_1.getRowIndex(USEID),false,true); setTimeout('window.location.href="<%=basePath%>page/basicpage/userInfo.jsp?id="+new Date();',800); //指定1秒刷新一次 return true; }else{ alert("添加失败"); return false; } },error:function(){ alert("没执行添加"); } }); }
ajax的参数:
一: async来设置同步与异步 默认是true:异步,false:同步。
同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事(相当于锁住了浏览器)
异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕
二:cache cache的作用就是第一次请求完毕之后,如果再次去请求,可以直接从缓存里面读取而不是再到服务器端读取。(一般用不到)
不想使用缓存,只要cache:false就可以了。
三:traditional 默认的话,traditional为false。当traditional设置为true时,ajax可以向后台传递类型为数组的参数。(这个很重要)
四:dataType:
要求为String类型的参数,预期服务器返回的数据类型。如果不指定,JQuery将自动根据http包mime
信息返回responseXML或responseText,并作为回调函数参数传递。可用的类型如下:
xml:返回XML文档,可用JQuery处理。
html:返回纯文本HTML信息;包含的script标签会在插入DOM时执行。
script:返回纯文本JavaScript代码。不会自动缓存结果。除非设置了cache参数。注意在远程请求时(不在同一个域下),所有post请求都将转为get请求。
json:返回JSON数据。
jsonp:JSONP格式。使用SONP形式调用函数时,例如myurl?callback=?,JQuery将自动替换后一个“?”为正确的函数名,以执行回调函数。
text:返回纯文本字符串。
小补充:ajax在不用参数trational的话,要想传递数组的参数,具体的如下:
data:{"idval":idval.join()}或 data:{"idlist2":idval.join(",")} (两者等价),idval为数组格式idval.join(","),就将数组变为由","分割的字符串,
并将字符串放入数组中传给后台。后台接收后再用字符串截取的方法split("\\,"),截取出来。
小补充: java中的split()的用法
1、如果用“.”作为分隔的话,必须是如下写法,String.split("\\."),这样才能正确的分隔开,不能用String.split(".");
2、如果用“|”作为分隔的话,String.split("\\|"),不能用String.split("|");
“.”和“|”都是转义字符,必须得加"\\";
3、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如,“acount=? and uu =? or n=?”,把三个都分隔出来,可以用String.split("and|or");
使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。
小例子:String[] aa = "aaa*bbb*ccc".split("\\*");
原文链接:https://www.f2er.com/ajax/162892.html