jquery库实现ajax
function verify(){
//1、获取文本框内容
//js方法
//document.getElementById("userName") 获取dom方法
//jquery方法,id的选择器(#),class选择器(.)
//jquery的方法返回的都是jquery的对象,可以在它上面继续执行其他jquery方法
var jqueryObj = $("#userName");
var userName = jqueryObj.val();
//2、传送数据到Server
//jquery方法
$.get("AjaxServer?name="+userName,null,callback) ;
}
//回调函数
function callback(data){
//3、接受server数据
//4、动态显示返回数据
var resultObj = $("#result");
resultObj.html(data);
}
使用XMLHttpReque来进行Ajax异步数据交互
//使用XMLHttpReque来进行Ajax异步数据交互
var xmlhttp;
function verify(){
//1、使用dom方式获取文本框内容
var userName = document.getElementById("userName").value;
//2、创建XMLHttpRequest对象
if(window.XMLHttpRequest){
//针对firefox,safari、opera,IE7+
xmlhttp = new XMLHttpRequest();
//针对某些版本的Mozill的浏览器
if(xmlhttp.overrideMimeType){
xmlhttp.overrideMimeType("text/xml");
}
} else if(window.ActiveXObject){
// 针对IE5、IE6、IE5.5
//两个可以用于创建XMLHttpRequest的空间名称
var activeName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
for(var i=0;i<activeName.length; i++){
try{
xmlhttp = new ActiveXObject(activeName[i]);
break;
}catch(e){
}
}
}
if(!xmlhttp){
alert("创建失败");
return;
}
//3、注册回调函数
//readystate一改变回调函数调用
xmlhttp.onreadystatechange = callback;
//4、设置连接信息
xmlhttp.open("GET","AjaxServer?name="+userName,true);
//POST请求方式的区别:设置http的请求头
//xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//发送内容在send中
//5、发送数据,与server交互
//同步方式下,send这句会在服务器数据回来后才执行完
//异步方式下,send这句立即执行完
xmlhttp.send(null);
}
function callback(){
//6、接收响应数据
//判断对象的状态是否交互完成
if(xmlhttp.readyState == 4){
//判断http的交互是否成功
if(xmlhttp.status == 200){
var responseText = xmlhttp.responseText;
var divNode = document.getElementById("result");
divNode.innerHTML = responseText;
}
}
}
xml格式数据交互
var xmlhttp;
function verify() {
var userName = document.getElementById("userName").value;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
if (xmlhttp.overrideMimeType) {
xmlhttp.overrideMimeType("text/xml");
}
} else if (window.ActiveXObject) {
var activeName = ["MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
for (var i = 0; i < activeName.length; i++) {
try {
xmlhttp = new ActiveXObject(activeName[i]);
break;
} catch (e) {
}
}
}
if (!xmlhttp) {
alert("创建失败");
return;
}
xmlhttp.onreadystatechange = callback;
xmlhttp.open("GET", "AjaxXMLServlet?name=" + userName, true);
xmlhttp.send(null);
}
function callback() {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
var domObj = xmlhttp.responseXML;
if (domObj) {
var messageNodes = domObj.getElementsByTagName("message");
if (messageNodes.length > 0) {
var textNode = messageNodes[0].firstChild;
var responseMessage = textNode.nodeValue;
var divNode = document.getElementById("result");
divNode.innerHTML = responseMessage;
} else {
alert("有问题了!" + xmlhttp.responseText);
}
} else {
alert("有问题了!" + xmlhttp.responseText);
}
}
}
}
jquery xml格式数据交互
function verify(){
var jqueryObj = $("#userName");
var userName = jqueryObj.val();
//javascript中一个简单对象的定义方法:
//var obj = {name:"haha",age:12};
$.ajax({
type:"POST",
url:"AjaxXMLServlet",
data:"name="+userName,
dataType:"xml",
success:callback,
error:handleError
});
}
function handleError(XMLHttpRequest, textStatus, errorThrown){
alert(textStatus);
}
function callback(data){
//首先要把dom对象转换为jquery对象
var jqueryObj = $(data);
var message = jqueryObj.children();
var text = message.text();
var resultObj = $("#result");
resultObj.html(text);
}
解决XHR与图片缓存问题
IE对于相同的url默认从缓存读取
方法:添加时间戳
function convertURL(url){
var timestamp = (new Date()).valueOf();
if(url.indexOf("?")>=0){
url = url + "&t=" + timestamp;
}else{
url = url + "?t=" + timestamp;
}
return url;
}
解决Ajax中文乱码
1、页面端做一次encodeURI:
var url = "AjaxServer?name="+encodeURI(userName);
服务器端:
String name = new String(old.getBytes("ISO8859-1"),"UTF-8");
2、页面端做两次encodeURI:
var url = "AjaxServer?name=" + encodeURI(encodeURI(userName));
服务器端:
String name = URLDecoder.decode(old,"UTF-8");
解决Ajax跨域访问问题
代理服务器
传送Text的Servlet
public class AjaxServer extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String old = request.getParameter("name");
// String name = new String(old.getBytes("ISO8859-1"),"UTF-8");
String name = URLDecoder.decode(old,"UTF-8");
if(old == null || old.length() == 0){
out.println("用户名不能为空");
}else{
// String name = old;
if(name.equals("liaolitao")){
out.println(name+"已经存在");
}else{
out.println(name+"尚未存在,可以注册");
}
}
}
}
传送xml的Servlet
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/xml;charset=utf-8");
PrintWriter out = response.getWriter();
String old = request.getParameter("name");
StringBuilder builder = new StringBuilder();
builder.append("<message>");
if(old == null || old.length() == 0){
builder.append("用户名不能为空").append("<message>");
}else{
String name = old;
if(name.equals("liaolitao")){
builder.append(name+"已经存在").append("</message>");
}else{
builder.append(name+"尚未存在,可以注册").append("</message>");
}
out.println(builder.toString());
}
}
分享到:
相关推荐
【Ajax学习资料+实例】 Ajax,全称Asynchronous JavaScript And XML,是一种在2005年由Google推广的技术,它不是一种新的编程语言,而是一种利用已有标准(如JavaScript和HTTP请求)来创建交互性更强、运行更高效...
"ajax学习"可能是一个包含教程、示例代码和讲解文档的文件或文件夹,而"ajaxѧϰ"可能是教学材料或练习项目,"ѧϰ"在拼音中代表"学习",因此这很可能是针对AJAX技术的学习资料。 以下是一些关于.NET中AJAX技术的...
《jQuery与Ajax学习指南》是一本专为初学者和有一定JavaScript基础的开发者设计的电子书,旨在帮助读者深入理解和熟练掌握这两个在实际Web开发中不可或缺的技术。jQuery是一个强大的JavaScript库,它极大地简化了DOM...
在这份超详细的Ajax学习笔记中,我们将深入探讨以下几个关键知识点: 1. **基础概念**:Ajax的核心是JavaScript对象XMLHttpRequest,它使得前端和后端能够进行异步通信。异步意味着用户在等待服务器响应时可以执行...
【Ajax学习文档】深入解析 Ajax,全称Asynchronous JavaScript and XML,是一种在不刷新整个网页的情况下,能够更新部分网页内容的技术。它并不是一项新技术,而是由一系列已存在的技术组合而成,包括JavaScript、...
ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习笔记源代码ajax 学习...
在本篇“AJAX学习总结(一)--基于jQuery第一个实例”中,我们将探讨如何使用jQuery库实现异步JavaScript和XML(AJAX)技术。AJAX允许我们在不刷新整个页面的情况下,更新网页的部分内容,从而提供更流畅的用户体验...
- **jQuery 和 Axios**:学习Ajax时,可以了解jQuery的$.ajax()方法和现代JavaScript库Axios,它们都提供了更方便的接口来处理Ajax请求。 在项目中,Ajax常用于实现动态加载、表单提交、实时通讯等功能。随着前端...
AJAX学习笔记。内含Java调用的两个实例,及JavaScript的ajax工具函数,可快速入门,也可当手册使用。个人精心整理,值得收藏。 更多:http://download.csdn.net/user/daillo/all
掌握 Ajax第 1 部分-Ajax 简介 掌握 Ajax第 2 部分-使用 JavaScript 和 Ajax 发出异步请求 掌握 Ajax第 3 部分-Ajax 中的高级请求和响应 掌握 Ajax第 4 部分-利用 DOM 进行 Web 响应 掌握 Ajax第 5 部分-操纵 DOM ...
**Ajax学习经典源码详解** Ajax,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使得网页实现...
在《Ajax学习开发手册》中,通常会涵盖以下关键知识点: 1. **基础概念**: - **异步通信**:Ajax的核心是JavaScript的XMLHttpRequest对象,它允许浏览器在不刷新整个页面的情况下与服务器通信。 - **请求与响应*...
这个"Prototype Ajax学习范例"提供了一系列实例,旨在帮助开发者迅速掌握使用Prototype进行Ajax操作的技巧。 Ajax,即异步JavaScript和XML(Asynchronous JavaScript and XML),是一种在无需刷新整个网页的情况下...
这份"Learn_JavaScript_and_Ajax_with_w3Schools.zip"压缩包包含了一个电子书和一个文本文件,旨在帮助学习者掌握这两种技术的核心概念。 JavaScript,全称ECMAScript,是一种轻量级的解释型编程语言,主要用于网页...
**Ajax学习——DWR的参考书和实用案例学习总结** DWR(Direct Web Remoting)是一种优秀的开源框架,专门用于简化Web应用程序中的Ajax(Asynchronous JavaScript and XML)开发。Ajax技术允许网页在不刷新整个页面...
标题"AJAX学习(包括WCF)"表明了这是一个关于AJAX技术的学习资源,其中还涵盖了WCF(Windows Communication Foundation)的相关内容。AJAX,即Asynchronous JavaScript and XML,是一种在无需重新加载整个网页的...
在本案例中,“一些ajax例子,ajax学习例子”是一个学习和实践Ajax技术的资源集合。 Ajax的核心是JavaScript对象XMLHttpRequest,它允许开发者在后台与服务器进行通信,而不会打断用户的交互。以下是一些关键的Ajax...
Ajax,即Asynchronous JavaScript and XML(异步JavaScript与XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。...通过深入学习和理解Ajax,开发者可以构建出更高效、更流畅的网页应用。
ajax学习视频,我自己学了感觉还不错,分享给大家一起学习!