juery中的ajax,jQuery中的AJAX

用JavaScript写AJAX前面已经介绍过了,主要问题就是不同浏览器需要写不同代码,并且状态和错误处理写起来很麻烦。

用jQuery的相关对象来处理AJAX,不但不需要考虑浏览器问题,代码也能大大简化。

在jQuery用于支持AJAX的众多API中,最常用的就是load(),get(),post()函数了。load(),get(),post()函数虽然使用比较简单,但是它们已经可以完成大部分常用AJAX功能。

一 load(url,[data],[callback])函数

函数名:load(url,[data],[callback])

作用:载入远程HTML文件代码并插入DOM中

返回值:jQuery

参数:

url,String ,请求的HTML页的url地址

data(可选),Object,发送至服务器的key/value数据

callback(可选),回调函数,请求完成时(不需要是success)的回调函数,自动会将请求结果,状态,XMLHttp对象传递给函数

这个方法默认使用get方式传递,如果[data]参数有传递数据进去,就会自动转换为post方式。

这个方法可以很方便的加载一些HTML文件,例如有如下一个HTML文件,名称为7_20test.html,其中只有一段文字

Title

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

If you think that Maven could help your project, you can find out more information about in the "About Maven" section of the navigation. This includes an in-depth description of what Maven is, a list of some of its main features, and a set of frequently asked questions about what Maven is.

This site is separated into the following sections, depending on how you'd like to use Maven:

测试页面如下

load

$(function () {

$("#test").click(function () {

$("#result").load("7_20test.html",function (responseText,textStatus,XMLHttpRequest) {

$("#display").append("responseText:"+responseText+"
");

$("#display").append("textStatus:"+textStatus+"
");

$("#display").append("XMLHttpRequest"+XMLHttpRequest)

});

});

});

jQuery Playground

测试

内容显示:

结果:

结果显示

a6c2bcb2d510

测试页面

a6c2bcb2d510

结果显示

核心代码

$(function () {

$("#test").click(function () {

$("#result").load("7_20test.html",function (responseText,textStatus,XMLHttpRequest) {

$("#display").append("responseText:"+responseText+"
");

$("#display").append("textStatus:"+textStatus+"
");

$("#display").append("XMLHttpRequest"+XMLHttpRequest)

});

});

});

二 $.get(url,[data],[callback],[type])函数

jQuery中的get(url,[data],[callback],[type])函数用以get方式来进行ajax异步请求。请求成功时可调用回调函数。

函数名:$.get(url,[data],[callback],[type])

作用:使用get方式来进行异步请求

返回值:jQuery

参数:

url:Sting,请求的html页的url地址

data(可选):Object,发送至服务器key/value数据

callback(可选):function,请求完成时(不需要是success)的回调函数,自动会将请求的结果,状态,XMLHttp对象传递给该函数。

type(可选):String,客户端请求的类型(JSON,XML等)

服务器端有名为TestGetServlet的文件,代码如下:

package servlet;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

/**

* Created by pc on 2017/7/20.

*/

@WebServlet(name = "TestGetServlet",urlPatterns = "/TestGetServlet")

public class TestGetServlet extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");

String name=request.getParameter("name");

System.out.println(name);

response.getWriter().print(name);

}

}

测试代码如下

GET

$(function () {

$("button").click(function () {

$.get("/TestGetServlet",

{name:"张三"},

function (data,status) {

$("#display").append("data:"+data+"
");

$("#display").append("status"+status);

});

}) ;

});

jQuery Playground

测试

结果:

运行结果

a6c2bcb2d510

测试页面

a6c2bcb2d510

运行结果

核心代码

$(function () {

$("button").click(function () {

$.get("/TestGetServlet",

{name:"张三"},

function (data,status) {

$("#display").append("data:"+data+"
");

$("#display").append("status"+status);

});

}) ;

});

三 $.post(url,[data],[callback],[type])函数

函数名:$.post(url,[data],[callback],[type])

作用:使用post方式来进行异步请求

返回值:jQuery

参数:

url:Sting,请求的html页的url地址

data(可选):Object,发送至服务器key/value数据

callback(可选):function,请求完成时(不需要是success)的回调函数,自动会将请求的结果,状态,XMLHttp对象传递给该函数。

type(可选):String,客户端请求的类型(JSON,XML等)

服务器端有名为TestPostServlet的文件,代码如下:

package servlet;

import com.mysql.cj.xdevapi.JsonArray;

import jdk.nashorn.internal.runtime.JSONListAdapter;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

/**

* Created by pc on 2017/7/20.

*/

@WebServlet(name = "TestPostServlet",urlPatterns="/TestPostServlet")

public class TestPostServlet extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");

String name=request.getParameter("name");

String password=request.getParameter("password");

response.getWriter().print(name);

response.getWriter().print(password);

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

}

}

测试代码

POST

$(function () {

$("#test").click(function () {

$.post("/TestPostServlet",{

name:$("#name").val(),

password:$("#password").val()

},function (data,status) {

$("#display").append("data"+data+"
");

$("#display").append("status"+status);

},"text"

);

});

});

jQuery Playground

测试

name:

password:

结果:

运行结果

a6c2bcb2d510

测试界面

a6c2bcb2d510

运行结果

四 总结

在Javaweb中,在使用jQuery中的AJAX GET/POST 方法时,对应的servlet 应设置对应的路径

a6c2bcb2d510

设置路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值