how2j.cn


工具版本兼容问题
JQuery也有对AJAX的支持,使得其对AJAX的操作简化了很多。

关键字 简介 示例代码
$.ajax()
提交AJAX请求
示例代码
$.get()
使用get方式提交ajax
示例代码
$.post
使用post方式提交ajax
示例代码
load()
最简单的调用ajax的方式
示例代码
serialize()
格式化form下的输入数据
示例代码
示例 1 : 提交AJAX请求   
示例 2 : 使用get方式提交ajax   
示例 3 : 使用post方式提交ajax   
示例 4 : 最简单的调用ajax的方式   
示例 5 : 格式化form下的输入数据   

示例 1 :

提交AJAX请求

参考 使用AJAX 通过无刷新验证账号是否存在 这个例子,服务端使用JSP进行验证,当用户输入abc的时候提示"已经存在"
完整的 $.ajax 参数 比较复杂,这里采用了常见的调用方式。

$.ajax({
url: page,
data:{"name":value},
success: function(result){
$("#checkResult").html(result);
}
});

$.ajax采用参数集的方式 {param1,param2,param3} 不同的参数之间用,隔开
第一个参数 url:page 表示访问的是page页面
第二个参数 data:{name:value} 表示提交的参数
第三个参数 success: function(){} 表示服务器成功返回后对应的响应函数
运行效果
<script src="http://how2j.cn/study/jquery.min.js"></script> <div id="checkResult"></div> 输入账号 :<input id="name" type="text"> <script> $(function(){ $("#name").keyup(function(){ var page = "/study/checkName.jsp"; var value = $(this).val(); $.ajax({ url: page, data:{"name":value}, success: function(result){ $("#checkResult").html(result); } }); }); }); </script>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
示例 2 :

使用get方式提交ajax

$.get 是 $.ajax的简化版,专门用于发送GET请求

$.get(
page,
{"name":value},
function(result){
$("#checkResult").html(result);
}
);

$.get 使用3个参数
第一个参数: page 访问的页面
第二个参数: {name:value} 提交的数据
第三个参数: function(){} 响应函数
只有第一个参数是必须的,其他参数都是可选
运行效果
<script src="http://how2j.cn/study/jquery.min.js"></script> <div id="checkResult"></div> 输入账号 :<input id="name" type="text"> <script> $(function(){ $("#name").keyup(function(){ var page = "/study/checkName.jsp"; var value = $(this).val(); $.get( page, {"name":value}, function(result){ $("#checkResult").html(result); } ); }); }); </script>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
示例 3 :

使用post方式提交ajax

$.post 是 $.ajax的简化版,专门用于发送POST请求

$.post(
page,
{"name":value},
function(result){
$("#checkResult").html(result);
}
);

$.post 使用3个参数
第一个参数: page 访问的页面
第二个参数: {name:value} 提交的数据
第三个参数: function(){} 响应函数
只有第一个参数是必须的,其他参数都是可选
参考 method="get" 与 method="post"的区别
运行效果
<script src="http://how2j.cn/study/jquery.min.js"></script> <div id="checkResult"></div> 输入账号 :<input id="name" type="text"> <script> $(function(){ $("#name").keyup(function(){ var page = "/study/checkName.jsp"; var value = $(this).val(); $.post( page, {"name":value}, function(result){ $("#checkResult").html(result); } ); }); }); </script>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
示例 4 :

最简单的调用ajax的方式

load比起 $.get,$.post 就更简单了
$("#id").load(page,[data]);
id: 用于显示AJAX服务端文本的元素Id
page: 服务端页面
data: 提交的数据,可选。 在本例中,直接在page里加上了参数列表
运行效果
<script src="http://how2j.cn/study/jquery.min.js"></script> <div id="checkResult"></div> 输入账号 :<input id="name" type="text"> <script> $(function(){ $("#name").keyup(function(){ var value = $(this).val(); var page = "/study/checkName.jsp?name="+value; $("#checkResult").load(page); }); }); </script>
<script src="http://how2j.cn/study/jquery.min.js"></script>
  
<div id="checkResult"></div>
   
输入账号 :<input id="name" type="text"> 
   
<script>
$(function(){
   $("#name").keyup(function(){
     var value = $(this).val();
     var page = "/study/checkName.jsp?name="+value;
     $("#checkResult").load(page);
   });
});
  
</script>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
示例 5 :

格式化form下的输入数据

serialize(): 格式化form下的输入数据
有的时候form下的输入内容比较多,一个一个的取比较麻烦,就可以使用serialize() 把输入数据格式化成字符串
运行效果
<script src="http://how2j.cn/study/jquery.min.js"></script> <div id="checkResult"></div> <div id="data"></div> <a href="http://how2j.cn/study/checkName.jsp">http://how2j.cn/study/checkName.jsp</a> <form id="form"> 输入账号 :<input id="name" type="text" name="name"> <br> 输入年龄 :<input id="age" type="text" name="age"> <br> 输入手机号码 :<input id="mobile" type="text" name="mobile"> <br> </form> <script> $(function(){ $("input").keyup(function(){ var data = $("#form").serialize(); var url = "http://how2j.cn/study/checkName.jsp"; var link = url+"?"+ data; $("a").html(link); $("a").attr("href",link); }); }); </script>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2018-11-12 data:{"name":value}里的name怎么理解
淅淅细雨



name可以是其他命名吗?
data:{"name":value}

							


2 个答案

唏嘘不已 答案时间:2018-11-13
这个name应该是根据【jsp】里面的写的内容定义的

淅淅细雨 答案时间:2018-11-12
试了一下,貌似不行,可以解释一下吗?




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-06-23 $("#checkResult").html(result);这个.html是固定写法吗?什么意思
MJ
$("#checkResult").html(result);这个.html是固定写法吗?什么意思 如果要在页面上显示必须.html?




1 个答案

MJ 答案时间:2018-06-26
相当于js代码的innerHTML




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2018-04-09 checkName.jsp里的代码是什么
2018-01-29 中文问题
2017-11-20 为什么我要手动刷新提示才会变?
2017-09-13 关于回调函数
2017-07-27 括号里面的result是什么?固定写法吗?
2016-11-20 为什么url不能用$("a").text()代替呢




提问之前请登陆
关于 前端部分-JQuery-AJAX 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 902680467
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: http://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图