使用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 Curry on 2017/3/16.
*/
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()可以完成我们的开发。所以你懂得,以上略作了解就好。
使用jQuery发送ajax的更多相关文章
- jQuery发送ajax请求
利用jquery发送ajax请求的几个模板代码. $.ajax({ async : false, type: 'POST', dataType : "json", url: &qu ...
- JQuery发送ajax请求不能用数组作为参数
JQuery发送ajax请求不能用数组作为参数,否则会接收不到参数, 一.js代码如下: $('#delete-button').click(function(){ var select ...
- Jquery发送ajax请求以及datatype参数为text/JSON方式
Jquery发送ajax请求以及datatype参数为text/JSON方式 1.方式一:datatype:'text' 2.方式二:datatype:'JSON' 3.使用gson-1.5.jar包 ...
- IE9下JQuery发送ajax请求失效
最近在做项目的时候,测试PC端网页,在IE9下会失效,不能正常的发送POST请求,经过仔细的排查,发现是IE9下JQuery发送ajax存在跨域问题. 目前有两种解决方案: 解决方案一: 设置浏览 ...
- 学习AJAX必知必会(4)~JQuery发送Ajax请求
一.JQuery发送Ajax请求 ■ 对于get和post请求,jQuery内部封装了Ajax请求的4个步骤和数据格式的设置 ■ 对于Ajax通用请求,jQuery内部封装了Ajax请求的4个步骤和数 ...
- 关于解决JQuery发送Ajax请求后,IE缓存数据不更新的问题
http://www.cnblogs.com/lys_013/archive/2013/08/07/3243435.html 今天在做ajax页面无刷新请求后台服务器数据的时候,IE下遭遇Ajax缓存 ...
- jQuery发送Ajax请求以及出现的问题
普通jQuery的Ajax请求代码如下: $.ajax({ type: 'POST', url: "http://xxx/yyy/zzz/sendVerifyCode", data ...
- jquery发送ajax请求返回数据格式
jquery向服务器发送一个ajax请求后,可以返回多种类型的数据格式,包括:html,xml,json,text等. 1.html格式的数据 "<div class='comment ...
- python测试开发django-50.jquery发送ajax请求(get)
前言 有时候,我们希望点击页面上的某个按钮后,不刷新整个页面,给后台发送一个请求过去,请求到数据后填充到html上,这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新.Ajax可以完美的 ...
随机推荐
- vijos:P1155集合位置(次短路)
描述 每次有大的活动,大家都要在一起“聚一聚”,不管是去好乐迪,还是避风塘,或者汤姆熊,大家都要玩的痛快.还记得心语和花儿在跳舞机上的激情与释放,还记得草草的投篮技艺是如此的高超,还记得狗狗的枪法永远 ...
- OpenCode:template
ylbtech-OpenCode: 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 作者:ylbtech出处:http://ylbtec ...
- Openstack web 添加和删除按钮
注:当前已经时候用smaba将openstack环境的源码共享到windows系统上,并使用pycharm进行代码编辑和修改(参见openstack开发环境搭建).如下图:
- git for eclipse 如何取消误操作的忽略(ignore)操作
直接删除ignore文件即可.如下显示: 原文引用:https://blog.csdn.net/exceptionss/article/details/79082601
- layer常用方法
弹出层layer的使用 弹出层layer的使用 Intro layer是一款web弹层组件,致力于服务各个水平段的开发人员.layer官网:http://layer.layui.com/ layer侧 ...
- 51nod1105(二分)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1105 题意:中文题诶- 思路:直接二分答案,再通过二分找有多少 ...
- [Xcode 实际操作]六、媒体与动画-(5)使用CoreImage框架给图片添加马赛克效果
目录:[Swift]Xcode实际操作 本文将演示如何使用CoreImage图像处理框架,给图片添加像素化的滤镜效果. 在项目导航区,打开视图控制器的代码文件[ViewController.swift ...
- tableview中用动画效果改变cell的高度
我们要的效果大概就是如下效果: 当我们选择一个cell的时候,我们就要改变它的高度,并且以动画的形式. 我们该如何实现这个效果呢?我们主要需要使用以下这两个方法: - (CGFloat)tableVi ...
- map练习小例题
"fdgavcbsacdfs" 获取该字符串中,每一个字母出现的次数. 要求打印结果是:a(2)b(1)...; 思路: 对于结果的分析发现,字母和次数之间存在着映射关系.而且这种 ...
- Photoshop CC 2014 for mac破解版
https://pan.baidu.com/s/1gfmTq8b 安装PS试用版后,打开Applications/Photoshop CC 2014文件夹下, 右键Photoshop CC 201 ...