Jquery ajax异步提交


Ajax原生方法:javascript

<script type="text/javascript">

    function delStudent(studentid){
     
        $.ajax({
            url:"/project/studentRpc/"+studentid+"/deleteStudentById.json",
            type:"get",
            dataType: 'json',
            success:function(data){
                var isDeleted= data.content.successed;
                alert(typeof isDeleted);

                if(isDeleted==true){
                    alert("删除成功");
                    window.location.reload();
                }
            }
        });
    }

</script>



dataType:'json' 设置返回值类型html

contentType:"application/x-www-form-urlencoded"(默认值)java

contentType参考文章:ajax

http://blog.csdn.net/mhmyqn/article/details/25561535
json



页面采用回调函数function(data) 处理后台返回的结果app


a标签onclick事件触发ide

<a  href ="javascript:void(0);" class="btn btn-default"  id ="add" onclick = "return addproduct(${s.id});">加入秒杀</a>

前台函数

function addproduct(id){
  var mprice=document.getElementById("mprice_"+id).value;
  var number=document.getElementById("number_"+id).value;
  var sid=document.getElementById("special.id").value;
  if (mprice==""){
   alert("请输入特价价格");
   return false;
  }else if (number==""){
   alert("请输入特价数量 ");
   return false;
 }else {
 
 //重点在这儿
 $.get("${ctx}/special/addProduct.action?specialVo.quantity="+number+"&specialVo.memberPrice="+mprice+"&specialVo.id="+id+"&special.id="+sid,
 function(data){
 
 if(data=="true"){
  alert("添加成功");
  window.location.reload(); 
  }
 })
 
  /* window.location.href="${ctx}/special/addProduct.action?specialVo.quantity="+number+"&specialVo.memberPrice="+mprice+"&specialVo.id="+id+"&special.id="+sid; */
  
 }
  
 }


后台url

 public void addProduct(){
    PrintWriter out=null;
    try {
  System.out.println(specialVo.getQuantity());
     System.out.println(specialVo.getMemberPrice());
     System.out.println(specialVo.getId());
     System.out.println(special.getId());
          
    HttpServletResponse response=ServletActionContext.getResponse();
    out=response.getWriter();
    out.print(true);
    out.flush();
    out.close();
    
     
 } catch (Exception e) {
  e.printStackTrace();
  out.flush();
  out.close();
  out.println(0);
 }
      
   
   }


struts配置action无需resultspa

<action name="addProduct" class="specialAction" method="addProduct" > </action>


方法有两种,一是返回无类型,即void类型,二是返回Action.NONE(String类型)当是这两种类型的时候,struts2就不会对result进行主动处理了

即咱们只须要在action方法中,处理ajax调用,而返回void或者"none"就好了



参考文章:

http://bbs.csdn.net/topics/390470284

 

http://blog.csdn.net/xuzhuang2008/article/details/6928304