jquery的函数实现Ajax

Ajax实现方式

1、$.ajax()

2、$.get() 

3、$.post() 

4、$.getJSON()

5、$("#form1").serialize()


1、$.ajax()

$.ajax() 是 jQuery 中 AJAX 请求的核心方法,所有的其他方法都是在内部使用此方法。 

语法: 

        $.ajax( { name:value, name:value, ... } ) 

属性:

属性表示含义
async 布尔类型值,表示请求是否异步,默认值是true。可以不写
url表示请求的地址

type

表示请求的类型 GET | POST
data

表示发送给服务器的数据 

格式有两种:

1、name=value1&age=value2

2、{name:value1, age:value2}

success

请求成功,响应的回调函数

success:function (data) {

            //data是回调时传回来的参数
           alert(data);//这个是响应服务器的处理结果
           $("#result").text(data);
 }

error请求失败,响应的回调函数
dataType响应的数据类型  可以是JSON、test、xml,不过json比较使用多

案例代码演示:

html页面:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
    <script>
        function doAjax(){
            $.ajax({
                url:"bmiAjax",
                type:"POST",
                data:"name="+$("#name").val()+"&height="+$("#height").val()+"&weight="+$("#weight").val(),
                success:function (data) {
                    alert(data);//这个是响应服务器的处理结果
                    $("#result").text(data);
                },
                error:function () {
                    alert("error!!!");
                },
                dataType:"json"
            })
        }
    </script>
</head>
<body>
    姓名: <input type="text"id="name" name="name"/><br/>
    体重(kg)<input type="text" id="weight" name="weight"/><br/>
    身高(米)<input type="text" id="height" name="height"/><br/>
    <input type="button" value="计算BMI"onclick="doAjax()">
    <div id="result">

    </div>
</body>
</html>

servlet:

package cn.com.Ycy.Ajav;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/bmiAjax")
public class AjaxServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req,resp);
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setCharacterEncoding("utf-8");
        String name = req.getParameter("name");
        String weight = req.getParameter("weight");
        String height = req.getParameter("height");
        float w = Float.parseFloat(weight);
        float h = Float.parseFloat(height);
        float bmi = w / (h * h);
        String msg = "";
        if (bmi < 18.5) {
            msg = ""+name+"比较廋";
        } else if (bmi > 18.5 && bmi <= 23.9) {
            msg = ""+name+"的bmi是正常的";
        } else if (bmi <= 27 && bmi > 23.9) {
            msg =""+name+"比较胖";
        }else {
            msg=""+name+"特别胖哦";
        }
        System.out.println(msg);
        System.out.println("sbsb");
        resp.getWriter().write(msg);
    }
}

2、$.get() 

属性含义

url

表示请求的地址
data

表示发送给服务器的数据 

格式有两种:

1、name=value1&age=value2

2、{name:value1, age:value2}

callback请求成功,响应的回调函数
dataType响应的数据类型  可以是JSON、test、xml,不过json比较使用多

更简化代码了

<script>
        function doAjax(){
            $.get("bmiAjax",{name:"ycy",height:1.75,weight:58},function (data) {
                alert(data);
            },"json")
        }
</script>

3、$.post() 

属性含义

url

表示请求的地址
data

表示发送给服务器的数据 

格式有两种:

1、name=value1&age=value2

2、{name:value1, age:value2}

callback请求成功,响应的回调函数
dataType响应的数据类型  可以是JSON、test、xml,不过json比较使用多

代码演示 

<script>
    function doAjax(){
          $.post("bmiAjax",{name:"ycy",height:1.75,weight:58},function (data) {
             alert(data);
         },"json")
     }
</script>

4、$.getJSON()

         通过HTTP GET请求,请求载入JSON数据,请求方式和回调数据类型是固定的,请求方式是GET,数据返回是JSON格式

属性含义

url

表示请求的地址
data

表示发送给服务器的数据 

格式有两种:

1、name=value1&age=value2

2、{name:value1, age:value2}

callback请求成功,响应的回调函数

$.get()和$.post()都是四个参数而这个只要三个参数即可,代码演示 

<script>
    function doAjax(){
          $.getJSON("bmiAjax",{name:"ycy",height:1.75,weight:58},function (data) {
             alert(data);
         })
     }
</script>

5、$("#form1").serialize()

可以把表单的所有参数都获取到,并以name=value&age=value2的形式拼接起来

$("#form1").serialize()需要都哪个表单绑定起来。

<script>
   $("#btn").click(function(){
    alter($("form1").serialize());
})
</script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值