分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

Ajax——jQuery实现

发布时间:2023-09-06 01:40责任编辑:胡小海关键词:jQueryAjax

紧接上文

一、load()方法

  • load() 方法师jQuery中最为简单和常用的Ajax方法,能载入远程的HTML代码并插入到DOM中。它的机构是:load(url[,data][,callback])
参数名称类型说明
url  String请求HTML页面的URL地址
data(可选)Object发送到服务器的key/value数据,json格式
callback(可选)Function请求完成时的回调函数,无论请求成功或失败

①、方法细节

  • 如果只需要加载目标HTML页面的某些元素,则可以通过load()方法的URL参数来达到目的。通过URL参数指定选择符,就可以方便的从加载过来的HTML文档中选出所需要的内容。load()方法的URL参数的语法结构为“url selector”(注意:url和选择器之间有一个空格)
  • 传递方式:load()方法的传递参数根据参数data来自动自动。如果没有参数传递,采用GET方式传递,否则采用POST方式
  • 对于必须在加载完才能继续的操作,load()方法提供了回调函数,该函数有三个参数:代表请求返回内容的data;代表请求状态的textStatus对象和XMLHttpRequest对象

②、load方法的Demo

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> ?<head> ???<title></title> ???<script type="text/javascript" src="../scripts/jquery-1.4.2.min.js"></script> ???<script type="text/javascript"> ?????$(function(){ ???????????$("a").click(function(){ ?????????????????//选择HTML片段,h2 元素节点下的a节点 ?????????????????var url=this.href+" h2 a";
           //json格式的参数 ?????????????????var args={"time":new Date()}; ?????????????????
//任何一个html节点都可以使用load方法来加载Ajax,结果将直接插入html节点中 ?????????????????$("#details").load(url,args); ???????????????return false; ?????????????????}); ???????????}); ???????????????</script> ?</head> ???<body> ???<h1>People</h1> ???<ul> ???????<li><a href="files/andy.html">Andy</a></li> ??????????<li><a href="files/richard.html">Richard</a></li> ??????????<li><a href="files/jeremy.html">Jeremy</a></li> ???</ul> ???<div id="details"></div> ?</body></html>

二、$.get()(或$.post())方法

  • $.get()方法使用GET方式来进行异步请求,它的结构是:$.get(url[,data][,callback][,type]);
参数名称类型说明
url                              String               请求HTML页面的URL地址
data(可选)Object发送到服务器的key/value数据,附加到请求URL中,Json格式
callback(可选)Function载入成功时回调函数(只有当Response的返回状态是success时才调用该方法)自动将请求结果和状态传递给该方法
type(可选)String服务器返回内容的格式,包括XML,HTML,json,script,text和_default
  • $.get()方法的回调函数只有两个参数:data代表返回的内容,可以是XML文档,JOSN文件,HTML片段等;textstatus代表请求状态,其值可能为:success,error,notmodify和timeout 4种。 

①、解析XML格式数据

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> ?<head> ???<title></title> ?<script type="text/javascript" src="../scripts/jquery-1.4.2.js"></script> ?<script type="text/javascript"> ?????$(function(){ ???????$("a").click(function(){ ???????????var url=this.href; ???????????var args={"time":new Date()}; ???????????$.get(url,args,function(data){
         //将Dom对象转换为jQuery对象 ???????????????var name=$(data).find("name").text(); ???????????????var email=$(data).find("email").text(); ???????????????var website=$(data).find("website").text();
         //向父元素节点追加子节点前,先清空父元素 ???????????????$("#details").empty() ???????????????????????.append("<h2><a href=‘mailto:"+email+"‘>"+name+"</a></h2>") ???????????????????????.append("<a href=‘"+website+"‘>"+website+"</a>"); ???????????????}); ???????????return false; ???????}); ?????}) ???????????</script> ?</head> ???<body> ???<h1>People</h1> ???<ul> ???????<li><a href="files/andy.xml">Andy</a></li> ??????????<li><a href="files/richard.xml">Richard</a></li> ??????????<li><a href="files/jeremy.xml">Jeremy</a></li> ???</ul> ???<div id="details"></div> ?</body></html>

②、解析JOSN格式数据

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> ?<head> ???<title></title><script type="text/javascript" src="../scripts/jquery-1.4.2.js"></script> ?<script type="text/javascript"> ?//url:ajax请求的目标url ?//args:传递的参数:json类型 ?//data:ajax响应成功后的数据,可能是xml,html,json ?????$(function(){ ???????$("a").click(function(){ ???????????var url=this.href; ???????????var args={"time":new Date()}; ???????????//使用$.getJSON方法回调函数返回的数据是json对象  ???????????$.getJSON(url,args,function(data){ ???????????????var name=data.person.name; ???????????????var email=data.person.eamil; ???????????????var website=data.person.website; ???????????????$("#details").empty() ???????????????????????.append("<h2><a href=‘mailto:"+email+"‘>"+name+"</a></h2>") ???????????????????????.append("<a href=‘"+website+"‘>"+website+"</a>"); ???????????????}); ???????????return false; ???????}); ?????}) ???????????</script> ?</head> ???<body> ???<h1>People</h1> ???<ul> ???????<li><a href="files/andy.js">Andy</a></li> ??????????<li><a href="files/richard.js">Richard</a></li> ??????????<li><a href="files/jeremy.js">Jeremy</a></li> ???</ul> ???<div id="details"></div> ?</body></html>

其他方式

$.get(url,args,function(data){},"JSON")$.post(url,args,function(data){},"JSON")

Ajax——jQuery实现

原文地址:https://www.cnblogs.com/realshijing/p/8401753.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved