GET模板
var sq="传向后台的参数";
var yibu=new XMLHttpRequest();
yibu.open("get","some.action?quyu="+sq+"&time="+new Date().getTime(),true);
yibu.onreadystatechange=function(){
if(yibu.status==200 && yibu.readyState==4){
//接收后台传回的数据并进行处理
var sqnotes=yibu.responseText;
var strs = new Array();
strs = sqnotes.split(",");
var sst= document.getElementById("shequ");
sst.options.length=0;
sst.options.add(new Option("--请选择--",""));
for(var i=0;i<strs.length;i++){
sst.options.add(new Option(strs[i],strs[i]));
}
}
}
yibu.send(null);
后台部分:
@ResponseBody
@RequestMapping(value="some.action",produces = {"application/text;charset=UTF-8"})
public String upordown(String quyu,HttpServletRequest request) {
/**………代码……………*/
String sq="处理结果"+quyu;
/**回传异步数据给前台*/
return sq;
}
POST模板
let ids="传向后台的参数";
var xmlHttp;
if(window.ActiveXObject)
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
else if(window.XMLHttpRequest)
xmlHttp = new XMLHttpRequest();
var url ="some.action?ids="+ids+"&time="+new Date().getTime();
xmlHttp.open("POST",url);
xmlHttp.onreadystatechange =function(){
if(xmlHttp.readyState==4 && xmlHttp.status == 200)
{
//接收后台传回的数据
var backdata=xmlHttp.responseText;
}
}
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send();
后台部分:
@ResponseBody
@RequestMapping(value="some.action",produces = "text/plain;charset=utf-8")
public String showBook(String ids,HttpServletRequest request,HttpServletResponse response) throws Exception{
try {
//ids是传进来的参数
/**………………*/
return "ok ok ok ok ok!";
}catch(Exception e) {
return "出问题了";
}
}
注意:回传的数据是字符串,如果需要回传集合或数组可以用JSON。
例:
List<String> urls=new ArrayList<String>();
Object obj=JSONArray.toJSON(urls);
String json=obj.toString();
return json;
用JSON需要添加依赖包:
比如:
<!-- JSON -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.59</version>
</dependency>
或者直接把依赖包存到你的库里