HTTP 请求加载远程数据。通过jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest对象。大多数情况下你无需直接操作该对象,但特殊情况下可用于手动终止请求。$.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息。详细参数选项见下。注意: 如果你指定了 dataType 选项,请确保服务器返回正确的 MIME 信息,(如 xml 返回 "text/xml")。错误的 MIME 类型可能导致不可预知的错误。注意:如果dataType设置为"script",那么在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)jQuery 1.2 中,您可以跨域加载 JSON 数据,使用时需将数据类型设置为 。使用 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。数据类型设置为 "jsonp"时,jQuery 将自动调用回调函数。
ajax工作原理
XMLHttpRequest对象方法详解
1、具体运用如下,比如要严重用户名是否重复用户名输入框加οnblur="validate(this) this是为了获取光标离开后的数据 <div name="userIdSpan"></div>是为了有没有重复代码写文字提醒
<input name="userId" type="text" data-rules="{required:true}" class="input-normal control-text" οnblur="validate(this)"><div name="userIdSpan"></div>
2、JavaScript添加
3、添加user_validate.jsp页面如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="com.marcellotest.sysmgr.dormain.*" %> <% //可以采用清除缓存的方法,如下 //response.setContentType("text/xml"); //response.setHeader("Cache-Control", "no-store"); //HTTP1.1 //response.setHeader("Pragma", "no-cache"); //HTTP1.0 //response.setDateHeader("Expires", 0); //out.println("Hello"); //Thread.currentThread().sleep(3000); String userId = request.getParameter("userId"); if (UserManager.getInstance().findUserById(userId) != null) { out.println("用户代码已经存在"); }%>
UserManager.getInstance().findUserById(userId)这个代码是验证是否有这个用户名的,那么就要在后台xie这个函数
4、后台代码如下
import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.sql.Timestamp;import java.util.ArrayList;import java.util.List; /** * 用户管理类 * @author Administrator * */public class UserManager { private static UserManager instance = null; private UserManager() {} public static synchronized UserManager getInstance() { if (instance == null) { instance = new UserManager(); } return instance; } /** * 根据用户id查询 * @param userId * @return 如果存在返回User对象,否则返回null */ public User findUserById(String userId) { System.out.println("UserManager.findUserById() -->> userId=" + userId); String sql = "select * from t_user where user_id=?"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; User user = null; try { conn = DBUtil.getConnection(); pstmt = conn.prepareStatement(sql); pstmt.setString(1, userId); rs = pstmt.executeQuery(); //存在用户信息 if (rs.next()) { user = new User(); user.setUserId(rs.getString("user_id")); user.setUserName(rs.getString("user_name")); user.setPassword(rs.getString("password")); user.setContactTel(rs.getString("contact_tel")); user.setEmail(rs.getString("email")); user.setCreateDate(rs.getTimestamp("create_date")); } }catch(SQLException e) { e.printStackTrace(); }finally { DBUtil.close(rs); DBUtil.close(pstmt); DBUtil.close(conn); } return user; } }
当然 用户资料和数据库得调用自己写的;
今天太困了,我就先睡觉了;各位再见!