zoukankan      html  css  js  c++  java
  • ajax函数实例

    ajax函数

    $.ajax({
    		url:"/deleteFromCart",        //请求的url地址 
    		type:"post",                    //请求方式
    		async: true,                     //请求是否异步,默认为异步,这也是ajax重要特性
    		data:{"cartId":cartId},         //参数值  可以是各种类型的,名称与java方法参数一致即可(参数绑定)
    		dataType:"json",                //返回格式为json
    		success:function(data){          //请求成功后的回调函数
    			
    		},
    		error:function(){               //请求失败后的回调函数
    			alert("操作失败");
    		}
    	});
    
    需要注意的是 各参数间的分隔符是"," 各参数名与值间的分隔符":"
    

    ajax函数后台传回的数据(参考链接https://blog.csdn.net/dreamstar613/article/details/61913970)

    1.后台返回list集合并遍历(下面是自己写的代码 感觉其他应该类似)

    java代码

    @ResponseBody
    	@RequestMapping("/selectOrderJudge")
    	public Map<String,Object> selectOrderJudge(HttpServletRequest request,String status) {
    		Map<String,Object> map = new HashMap<String,Object>();
    		String memberId = request.getSession().getAttribute("memberId").toString();
    		//System.out.println(status);
    		List<BusinessOrder> businessOrderList = orderJudgeService.selectOrderJudge(status,memberId);
    		//System.out.println(businessOrderList);
    		if(businessOrderList.size()>0) {
    			map.put("businessOrderList", businessOrderList);
    			map.put("code", 1);
    		}else {
    			map.put("code", 0);
    		}
    		return map;
    	}
    

    js代码

    $(".content-nav li").on("click", function(event){
        $(".content-nav li").removeClass("nav-active");
        $(event.target).addClass("nav-active");
        //alert("value=" + $(".nav-active .status").val());
        var status = $(".nav-active .status").val();
        $.ajax({
            url:"/selectOrderJudge",
            type:"post",
            data:{"status":status},
            success:function (data) {
            	//console.log(data);
            	if(data.code==1){
            		var str = "";
            		$.each(data.businessOrderList,function(index,item){
            			if(item.serviceJudge.status==1){
            				//console.log(item.id);
            				str+=`
            				<div class="article">
                				<img src="" alt="图片" />
                				<ul class="article-info">
                					<li text="` + item.orderInfo +`"> ` + item.orderInfo + `</li>
                				</ul>
                				<p th:text="` + item.createTime + `">`+ item.createTime +`</p>
                				<p class="evaluate_btn" onclick="gotoEvaluation('` + item.serviceJudge.id +`')">去评价</p>
                			</div>
                			`;
            			}else{
            				str+=`
            				<div class="article">
                				<img src="" alt="图片" />
                				<ul class="article-info">
                					<li text="` + item.orderInfo +`"> ` + item.orderInfo + `</li>
                				</ul>
                				<p th:text="` + item.createTime + `">`+ item.createTime +`</p>
                				<p class="evaluate_btn">已评价</p>
                			</div>`;
            			}
            		});
            		
            		$(".box").html(str);
            	}else{
            		$(".box").html("<p style='font-size:20px'>未找到订单</p>");;
            	}
            },
            error:function(){
            	console.error(arguments[1]);
            }
        });
    })
    

    2.返回一个页面

    java代码
    不能有注解@ResponseBody 
    return "error"
    
    js代码
    $("#content-wrapper").html(data);
    

    3.返回一个基本类型String,Long等

    java代码
    用@ResponseBody注解
    return msg;    //返回一个String类型 
    
    js代码
    alert(msg);
    

    4.返回一个实体类

    java代码
    添加注解@ResponseBody
    return  ajaxMsg; // 返回给前台一个实体类,包括是否操作成功,及失败原因
    
    js代码
    success : function(data) {  
            var jsonData = JSON.parse(data);            
            if (jsonData .flag == 0) {//请求成功
                alert("后台操作成果");  
            } else {
                alert(jsonData.msg);  
            }
        }
    
    

    前后台交互的方式

    <form action="delete"></form>  表单action提交
    <a href="@{/delete?id=} + ${user.id}"></a>
    <img th:src="@{/headImg?id=} + ${session.member.id}" onerror="defaultImg(this)"/>
    
    $.ajax()
    

    ajax参数类型

    1.字符串

    data:{
        "id":id,
        "name":name,
        "age":age
    },
    

    2.对象类型

    var id = $(".id").val();
    var name = $(".name").val();       //var id = $("#name").text();
    var age = $(".age").val();
    var student = {
        "id":id,
        "name":name,
        "age":age
    };
    ...
    data{student},
    ...
    
    public Map<Sting,Object> myStudent(Student student){
        ...
        return map;
    }
    

    人生之事岂能尽如人意,生活如戏,哭笑皆由人,悲喜自己定
  • 相关阅读:
    C# post请求 HttpWebRequest
    C# 获取当前路径
    计算n的阶乘
    查找2-n之间素数的个数
    循环嵌套-打印不定长特殊*号图形
    流程控制-物流费用计算(嵌套if)
    基于Arduino的按键控制LED实验
    基于Arduino的红外遥控
    PS/2的相关知识
    Arduino_URO端口与AtMega328p引脚对应图
  • 原文地址:https://www.cnblogs.com/Hephaestus/p/11897576.html
Copyright © 2011-2022 走看看