jQuery+Ajax实现无刷新操作_李大同
加入收藏 |
设为首页 |
会员中心 | 我要投稿
|
李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
jQuery+Ajax实现无刷新操作
发布时间:2020-12-15 23:29:08 所属栏目:百科 来源:网络整理
导读:使用jQuery实现Ajax操作 想要实现Ajax页面无刷新效果,但是直接利用Ajax代码实在有些麻烦,所以就想用jQuery实现。jQuery很好的封装了Ajax的核心对象XMLHTTPRequest。所以用起来非常方便。 首先,创建服务器端代码,这里用Servlet实现服务器端的数据处理;代
使用jQuery实现Ajax操作
想要实现Ajax页面无刷新效果,但是直接利用Ajax代码实在有些麻烦,所以就想用jQuery实现。jQuery很好的封装了Ajax的核心对象XMLHTTPRequest。所以用起来非常方便。
首先,创建服务器端代码,这里用Servlet实现服务器端的数据处理;代码如下:
// 得到请求参数
String name = req.getParameter("uname");
// 判断
if (name == null || name.length() == 0)
{
out.println("用户名不能为空!");
}
else
{
// 判断
if (name.equals("cheng"))
{
out.println("用户名["+ name +"]已存在!请使用其他用户名!");
}
else
{
out.println("用户名[" + name + "]尚未存在!您可以注册!");
}
}
}
然后,创建JSP页面,要使用jQuery,必须在页面之中引入jQuery库,也就是一个Javascript文件,另外还需引入自定义的Javascript文件,如下:
而JSP页面只需要一个文本框、一个普通按钮和一个空白DIV层即可,该DIV用于显示服务器端返回的处理结果;按钮的单击事件触发verify()方法。如下:
|
注意:Ajax方式下不需要使用表单来进行数据提交,因此页面中不用写
针对于第一步,
首先通过jQuery获得对象,并取得对象的值,如下:
通过jQuery中的$()函数获得页面的节点,该函数得到的是一个jQuery对象,然后通过jQuery中的val()方法取得节点的值,也就是文本框中的内容。
针对于第二步,
我们使用jQuery的get()方法来发送数据到服务器端,如下:
$.get("TestServlet?uname=" + userName,null,callback);
该方法返回一个XMLHttpRequest对象,该方法提供三个参数,第一个是请求的服务器端的URL,第二个参数是待发送的参数,一般可以在第一个URL中直接带上参数,所以一般该参数为null,第三个参数是服务器端成功处理完成数据之后的一个回调函数。
针对于第三步,
就应该创建一个回调函数,用来处理服务器端返回的数据,如下:
}
该回调函数有一个参数,该参数就是客户端返回的数据。
针对于第四步,再次利用jQueyr的选择器函数得到DIV层,将返回的数据显示在该层之上,如下:
function callback(data)
{
/**
- 第三步,接收服务器端返回的数据
*/
// 将服务器端返回的数据动态的显示在页面上
var resultObject = $("#result");
resultObject.html(data);
}
利用jQuery的html()方法将数据动态地显示到DIV层之中。
现在我们对以上的代码进行优化,我们用两句代码就可以实现以上所有代码的功能,这就是jQuery的强大之处之一。在verify.js文件之中的verify()方法也可以写成下面的形式:
再为大家分享一个,下面是“无刷新登录”的例子,采用Ashx+jQuery Ajax实现。
1、后台实例代码 ashx文件(可替换为从数据库中读取)
string name = context.Request.Params["name"].ToString().Trim();
if ("china".Equals(name))
{
context.Response.Write("1");//1标志login success
}
else
{
context.Response.Write("0");//0标志login fail
}
}
2、前台实例代码 aspx文件
<script src="js/jquery-1.4.2.js" type="text/javascript">
<script type="text/javascript">
$(function() {
$("#test").live("click",function() {
//alert(0);
$.ajax({
type: 'POST',url: 'Handler1.ashx',data: { "name": $("#name").val() },success: function(data) {
if (1 == data)
alert('login success');
else
alert('login fail');
}
});
});
});