在项目中遇到一个问题,就是点击a标签,要实现以post方式提交。下面来总结一下解决方法。
一、
通过点击a标签,让form表单submit提交,从而实现post方式提交。下面看代码:
<a href="javascript:void(0);" οnclick="document.getElementById('myform').submit();" id="agree" class="determine">
<form id="myform" method="post" action="url">
</form>
如果需要后台返回一个json串,可以使用下列方法:
【com.google.gson.Gson;】
Gson gson=new Gson();
Map<String,Object> map = new HashMap<String,Object>();
map.put("code",100);
map.put("msg","success");
response.getWriter().write(gson.toJson(map));
【net.sf.json.JSONObject;】
JSONObject obj = new JSONObject();
obj.put("code",100);
obj.put("msg","success");
response.getWriter().write(obj);
然而,有一个非常不便的地方就是,使用第一种方式,返回的json串,会在新的页面打开,前端页面就无法通过这个json串来进行下一步操作了。
二、
第二种方法是通过ajax提交post方式的请求,为的是返回后台的一个json值。如果需要获得后台返回的json值,并且,前端页面要使用这个json串继续进行操作,就可以使用第二种方法。
<a href="javascript:void(0);" id="agree" class="determine"/>
$("#agree").on("click",function(event){
event.preventDefault();//使a自带的方法失效$.ajax({
url:"url",
type:"post",
dataType:"json",
data:{},
success:function(result){
if(result.code == 100) {
} else {
}
},
error:function(){
alert("error!");
}
});
这样,就能获得后台发送的json串,对前端代码进行操作了。