首先是一个简单的表单:
<form id="form1"> 姓名:<input type="text" name="username" id="username" /><br /> 评论:<input type="text" name="content" id="content" /><br /> <input type="button" id="send" value="提交"/> </form> <p>已有的评论:</p> <div id="resText" style="color:red;"></div>
接下来,演示 POST的提交方式:返回普通的字符串
<script type="text/javascript" src="js/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function(){
//方法
//$.post(url,params,function(data,status){});
$("#send").click(function(){
var url = "post1.jsp";
//var params = {"username":$("#username").val(),"content":$("#content").val()};
var params = $("#form1").serialize(); //会自动转码,适合表单参数多的时候
$.post(url,params,function(data,status){
if(status=="success"){
$("#resText").html(data); //加载数据
}else{
alert("数据加载失败");
}
});
});
});
</script>
后台的数据处理:
<%@page contentType="text/html; charset=UTF-8" %>
<%
request.setCharacterEncoding("utf-8");
String username = request.getParameter("username");
String content = request.getParameter("content");
out.println(username+"说:"+content);
%>
这样就完成了一个post方式的异步请求。
接下来,演示 POST的提交方式:返回XML
前台:
<script type="text/javascript">
$(function(){
//方法
//$.post(url,params,function(data,status){});
$("#send").click(function(){
var url = "post2.jsp";
var params = $("#form1").serialize(); //适合表单参数多的时候
$.post(url,params,function(data,status){
if(status=="success"){
var username = $(data).find("comment").attr("username");
var content = $(data).find("comment content").text();
$("#resText").html(username+"说:"+content);
}else{
alert("数据加载失败");
}
});
});
});
</script>
后台:
<%@page contentType="text/html; charset=UTF-8" %>
<%
String username = request.getParameter("username");
String content = request.getParameter("content");
//这里要设置Content-Type为text/xml
response.setContentType("text/xml;charset=utf-8");
out.println("<?xml version='1.0' encoding='UTF-8'?>");
out.println("<comments>");
out.println("<comment username='"+username+"'>");
out.println("<content>"+content+"</content>");
out.println("</comment>");
out.println("</comments>");
%>
注意:设置Content-Type一定是:text/xml
以上是POST方法的请求方式,下面看看GET请求方式的处理。
GET请求方式的处理,稍稍麻烦一下,因为编码问题。
表单还是之前的表单;看下jQuery的写法。
首先还是返回普通的文本:
<script type="text/javascript"> $(function(){ //方法 //$.get(url,params,function(data,status){}); $("#send").click(function(){ var url = "get1.jsp"; //var params = {"username":encodeURI( $("#username").val() ),"content": encodeURI( $("#content").val() )}; var params = $("#form1").serialize(); //适合表单参数多的时候,会自动转码 $.get(url,params,function(data,status){ if(status=="success"){ $("#resText").html( decodeURI( data ) ); }else{ alert("数据加载失败"); } }); }); }); </script>
<%@page contentType="text/html; charset=UTF-8" %>
<%
String username = request.getParameter("username");
String content = request.getParameter("content");
//GET转码
username = new String(username.getBytes("iso-8859-1"),"utf-8");
content = new String(content.getBytes("iso-8859-1"),"utf-8");
out.println(username+"说:"+content);
%>
接下来是GET请求的XML处理方式:
<script type="text/javascript">
$(function(){
//方法
$("#send").click(function(){
var url = "get2.jsp";
var params =$("#form1").serialize();
$.get(url,params,function(data,status){
if(status=="success"){
username = decodeURI( $(data).find("comment").attr("username") );
content = decodeURI( $(data).find("comment content").text() );
$("#resText").html(username+"说:"+content);
}else{
alert("数据加载失败");
}
});
});
});
</script>
<%@page contentType="text/html; charset=UTF-8" %>
<%
String username = request.getParameter("username");
String content = request.getParameter("content");
//这里要设置Content-Type为text/xml
response.setContentType("text/xml;charset=utf-8");
out.println("<?xml version='1.0' encoding='UTF-8'?>");
out.println("<comments>");
out.println("<comment username='"+username+"'>");
out.println("<content>"+content+"</content>");
out.println("</comment>");
out.println("</comments>");
%>
通过对比:可以看出,还是POST的请求处理更简单一些。
相关推荐
注意:$.get()和$.post()方法是jQuery中的全局函数。前面讲到的load()方式是对jQuery对象进行操作的。 1、 $.get()方法 $.get()方法使用GET方式来进行异步请求。 它的语法结构为: $.get( url [, data] [, ...
NULL 博文链接:https://andy2019.iteye.com/blog/1515064
$.post、$.get是一些简单的方法,如果要处理复杂的逻辑,还是需要用到jQuery.ajax() 一、$.ajax的一般格式 $.ajax({ type: 'POST', url: url , data: data , success: success , dataType: dataType }); 二、$...
二、$.ajax()参数解释 url: 发送请求的地址。 type: 请求方式(post或get)默认为get。 timeout: 要求为Number类型的参数,设置请求超时时间(毫秒)。 async:默认设置为true,所有请求均为异步请求。同
$.get()方法使用GET方式来进行异步请求,它的语法结构为: $.get( url [, data] [, callback] ) 解释一下这个函数的各个参数: url:string类型,ajax请求的地址。 data:可选参数,object类型,发送至服务器的key/...
jquery 异步提交的例子。使用的是jquery + servlet 。使用jquery $.get() $.post() 提交请求道servlet 页面
利用JQuery的ajax支持,详细讲解$.ajax,$.post,$.get等方法实现ajax技术;讲解ajax文件上传,三级联动等;利用ajax技术返回普通文本,xml格式,JSON格式数据等案例;具体案例如下: 1.前端创建HTTPXMLRequest对象及...
俗说好记性不如个烂笔头,下面是jquery中的ajax方法参数详解,这里...此设置将覆盖$.ajaxSetup()方法的全局设置。 4.async: 要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求。如果需要发送同步请求,
会灵活的运用ajax的方法,非常重要,本文先给大家介绍ajax的几种方法,然后通过实例给大家分析...此设置将覆盖$.ajaxSetup()方法的全局设置。 4.async: 要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求
jquery异步调用post get方式
$.post发送请求 serialize()序列化表单 $.ajax()方法发送请求 第7章 validate验证插件 form表单插件 cookie插件 autocomplete插件 notesforlightbox插件 ContextMenu插件 JQZoom放大镜插件 编写一个对象...
在项目中,如果需要传递一些参数给服务器中的页面,那么可以使用$.get()或者$.post()方法(或者是$.ajax()方法) $.get()方法使用GET方式来进行异步请求。结构为:$.get(url [, data] [, callback] [, type]) $.get()...
最完整的方法是jQuery.ajax(options),同时她也是jQuery底层AJAX实现,简单容易的高层实现大家可以看下API中提供的jQuery.get(options)、jQuery.post(options),以及配合JSON做为传输数据格式的方法jQuery.getJSON...
封装jquery ajax方法,方便调用,避免在代码中频繁使用 $.ajax({ type: 'GET', url: url, ...... )}; 统一调用公共方法即可,区分同步异步,get post!希望对大家有帮助
此设置将覆盖$.ajaxSetup()方法的全局设 置。 async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求。 如果需要发送同步请求,请将此选项设置为false。注意,同步请求将锁住浏览器,用户其他操作...
一般来说,使用Jquery中的$.ajax,$.post,$.getJSON,非常方便,但是有的时候,我们只因为需要ajax功能而引入Jquery比较不划算。 所以接下来便用原生JavaScrpit实现一个简单的Ajax请求,并说明ajax请求中的跨域访问...
$.post、$.get是一些简单的方法,如果要处理复杂的逻辑,还是需要用到jQuery.ajax() 一、$.ajax的一般格式 $.ajax({ type: 'POST', url: url , data: data , success: success , dataType: dataType }); 二...
jquery框架中提供了$.ajax、$.get、$.post方法,用于进行异步交互,由于Django中默认使用CSRF约束,推荐使用$.get 示例:实现省市区的选择 最终实现效果如图: 将jquery文件拷贝到static/js/目录下 打开booktest/...