使用jQuery发送ajax

首先我们来看一波js的原声ajax。

我们先准备好servlet,之后不会改动,所以先看一波。

package cn.curry.servlet;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by zl on 2017/3/18.
 */
public class RegisterServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name=request.getParameter("name");
        if("admin".equals(name)){
            //打回浏览器  “已经注册”
            response.getWriter().write("Your Account Is Already Registered");
        }
        else{
            //可以注册
            response.getWriter().write("You Can Register This Account");
        }

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
    }
}很简单的servlet页面,然后我们看前台jsp展示页面,我写的是发送post,请求。<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head>    <title>注册</title>    <script type="text/javascript">        function checkUser(){            var value=document.getElementById("username").value;
            var url="RegisterServlet";
            var xhr;
            if(window.XMLHttpRequest){
                //非IE浏览器 Chrome 等
                xhr=new XMLHttpRequest();
            }else{
                //IE
                xhr=new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhr.open(‘post‘,url,true);
            xhr.onreadystatechange=function(){
                if(xhr.readyState==4&&xhr.status==200){
                    var content=xhr.responseText;
                    document.getElementById("msg").innerText=content;
                }
            }
            xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
            xhr.send("name="+value);
        }
    </script>
</head>
<body>
    <input id="username" name="username" onblur="checkUser()"/><span id="msg"></span><br/>
    <input name="userpwd"/>
</body>
</html>简单改一下就可以实现发送get请求。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>注册</title>
    <script type="text/javascript">
        function checkUser(){
            var value=document.getElementById("username").value;
            var url="RegisterServlet?name="+value;
            var xhr;
            if(window.XMLHttpRequest){
                //非IE浏览器 Chrome 等
                xhr=new XMLHttpRequest();
            }else{
                //IE
                xhr=new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhr.open(‘get‘,url,true);
            xhr.onreadystatechange=function(){
                if(xhr.readyState==4&&xhr.status==200){
                    var content=xhr.responseText;
                    document.getElementById("msg").innerText=content;
                }
            }

            xhr.send(null);
        }
    </script>
</head>
<body>
    <input id="username" name="username" onblur="checkUser()"/><span id="msg"></span><br/>
    <input name="userpwd"/>
</body>
</html>接下来看jQuery的,简单了很多。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>注册</title>
    <script type="text/javascript" src="jq/jQuery1.11.1.js"></script>
    <script type="text/javascript">
        function checkUser() {
            var value=document.getElementById("username").value;
            $.ajax({
                url : "RegisterServlet",
                type : "GET",
                data : "name="+value,
                dataType : "text",
                success : function(result){
                    document.getElementById("msg").innerText=result;
                },
                error:function () {
                    document.getElementById("msg").innerText=result;
                }
            });
        }
    </script>
</head>
<body>
    <input id="username" name="username" onblur="checkUser()"/><span id="msg"></span><br/>
    <input name="userpwd"/>
</body>
</html>

发送post请求直接把get改为post就可以了。这里就不做概述了。

当然除了$.ajax jQuery还提供了$.get(),$.post(),$(select).load等方法。以上方法用法和$.ajax()语法并没有不同,是对$.ajax()的封装,但是$.ajax()更灵活,通常使用$.ajax()可以完成我们的开发。所以你懂得。

 
时间: 2024-10-10 17:15:20

使用jQuery发送ajax的相关文章

原生js和jquery发送ajax请求及封装

原生js                                   // ajax get 五部曲function ajax_get(url,data){ // 异步对象 var ajax=new XMLHttpRequest(); // 设置url和请求方式 // url方法 如果有数据要把数据拼接到url中?name=jack&age=20 if(data){ url+=?; url+=data; }else{}; ajax.open('get',url); // 发送请求 aja

IE9下JQuery发送ajax请求失效

最近在做项目的时候,测试PC端网页,在IE9下会失效,不能正常的发送POST请求,经过仔细的排查,发现是IE9下JQuery发送ajax存在跨域问题. 目前有两种解决方案:   解决方案一: 设置浏览器安全属性,启用[通过域访问数据源]选项,如下图所示:    解决方案二:  调用ajax方法时,设置crossDomain为true,如下图所示: <!DOCTYPE html> <html> <head> <title>jQuery CORS in IE7

JQuery发送ajax请求不能用数组作为参数

JQuery发送ajax请求不能用数组作为参数,否则会接收不到参数, 一.js代码如下: $('#delete-button').click(function(){        var selectedMembers = document.getElementsByName('selectedMembers');        var cwIds = new Array(); //定义数组        for(var i=0;i<selectedMembers.length;i++){  

利用jQuery发送ajax异步请求

//很少接触JQuery的Ajax请求 就想着记录一下 到时候有用 $('form').submit(function (e) { // 阻止表单默认提交 e.preventDefault(); var name = $('#name').val(); var password = $('#password').val(); var data = JSON.stringify({"name": name, "password": password}); // 异步发

jQuery发送Ajax请求以及出现的问题

普通jQuery的Ajax请求代码如下: $.ajax({ type: 'POST', url: "http://xxx/yyy/zzz/sendVerifyCode", data:{ phoneNo:$(".tel").val() }, success: function(data){ $.toast("发送成功", "text") }, error: function(){ $.toast("发送失败"

jQuery发送ajax请求三种方式

<button>点击发送ajax get请求</button> <button>点击发送ajax post请求</button> <button>点击发送通用的ajax请求</button> <script type="text/javascript" src="jquery-1.8.3.min.js"></script> <script type="te

jquery发送ajax请求返回数据格式

1 jquery向服务器发送一个ajax请求后,可以返回多种类型的数据格式,包括:html,xml,json,text等. 2 3 1.html格式的数据 4 5 "<div class='comment'><h6> "+username+" :</h6><p class='para'> "+content+" </p></div>" 6 7 服务器端返回数据格式是html片

Jquery 页面初始化常用的三种方法以及Jquery 发送ajax 请求

第一种 $(document).ready(function(){ //文档就绪事件 }); 第二种是第一种的简略写法,效果上和第一种是等效的. $(function(){ //文档加载事件,整个文档加载完成后执行.就仅仅只需要加载所有的DOM结构,在浏览器把所有的HTML放入DOM tree之前就执行js效果.包括在加载外部图片和资源之前. }); 第三种 jQuery(function($){ }); window.onload=function(){ //onload事件是js 中的代码

一个JQuery发送ajax请求

环境: 1.jQuery v2.1.1 2.ThinkPHP 3.2.3 HTML页面: <button type="button" id="cat" onclick="return showList()" class="btn btn-primary pull-right">删除</button> <script type="text/javascript"> func