`
周一Monday
  • 浏览: 346274 次
  • 来自: 北京
社区版块
存档分类
最新评论

jQuery的$.post方法与$.get方法的异步提交

阅读更多

首先是一个简单的表单:

<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的请求处理更简单一些。

分享到:
评论

相关推荐

    jquery $.post()的用法 传递json文本 客户端和服务器端相互传递

    ### jQuery $.post() 方法详解与 JSON 数据交互 在现代 Web 开发中,客户端与服务器端的数据交换是非常重要的一个环节。jQuery 提供了多种 AJAX 方法来简化这一过程,其中 `$.post()` 是一种常用的方式来实现客户端...

    详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()

    而Jquery库提供了一系列封装好的Ajax函数,如$.get(), $.post(), $.ajax(), 和$.getJSON(),这些函数简化了前端开发者与后端数据交互的过程。 ### 1. $.get() `$.get()`函数是最简单的一种异步请求方式,它发送一...

    jquery 异步调用$.ajax() $.post() $.get()

    本篇文章将深入探讨jQuery中的异步调用方法,包括`$.ajax()`,`$.post()`和`$.get()`,以及它们在实际开发中的应用。 首先,`$.ajax()`是jQuery提供的最强大的异步数据请求函数,它支持多种HTTP请求方法,如GET、...

    jquery中AJAX请求 $.post方法的使用

    jQuery中的$.post方法是实现AJAX(异步JavaScript和XML)通信的一种简便方式。通过$.post方法,开发者可以轻松地以POST方式向服务器发送数据,并接收服务器返回的信息。 $.post方法的特点在于它是一种异步的请求...

    学习jQuery中的Ajax——$.get()方法

    结合其他jQuery的Ajax方法,如`$.post()`和`$.getJSON()`,我们可以构建出功能丰富的、用户体验良好的Web应用。在实际开发中,理解并熟练运用这些工具至关重要,以便更好地优化和提升我们的项目。

    jQuery+get/post+Ajax+Json

    1. jQuery的$.get和$.post方法:这两种方法是jQuery提供的Ajax(异步JavaScript和XML)接口,用于与服务器进行非刷新的数据交换。$.get用于发送GET请求,而$.post用于发送POST请求。它们都接受四个参数:URL、数据、...

    Jquery中$.getScript()$.getJSON

    总结来说,jQuery中的`$.getScript()`、`$.getJSON()`和`$.ajax()`都是用于与服务器进行异步通信的方法。`$.getScript()`专注于加载和执行JavaScript脚本,`$.getJSON()`专门处理JSON数据的获取,而`$.ajax()`则是最...

    jQuery Ajax之$.get()方法和$.post()方法

    在jQuery库中,$.get()和$.post()是两种非常常用的Ajax请求方法,它们用于向服务器发送异步请求,获取或提交数据,而无需刷新整个页面。这些方法都是全局函数,与jQuery对象的方法如.load()有所不同,后者是对特定...

    jQuery的3种请求方式$.post,$.get,$.getJSON

    在jQuery库中,$.post, $.get和$.getJSON是用于执行AJAX(Asynchronous JavaScript and XML)请求的三种主要方法,这些方法使得前端与后端服务器进行异步数据交互成为可能,无需刷新整个页面。接下来,我们将详细...

    Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    在jQuery中,有四种主要的Ajax方法用于与服务器进行异步数据交互,它们分别是$.get(), $.post(), $.ajax()和$.getJSON()。这些方法简化了JavaScript中的Ajax操作,使得开发者能够更加便捷地处理数据交互。 1. **$....

    jQuery中$.ajax()和$.getJson()同步处理详解

    在jQuery中,$.ajax()和$.getJSON()是两种常见的用于发送Ajax请求的方法,它们主要用于与服务器进行异步数据交互。然而,在某些特定场景下,如处理表单提交前的验证,可能需要同步处理请求,确保数据正确无误后再...

    jquery异步调用post get方式

    `jQuery`提供了`$.ajax()`, `$.post()`, 和 `$.get()`等方法来实现异步请求。本文将深入探讨`jQuery`中的`POST`和`GET`异步调用方式。 1. **GET方式** `GET`是最常见的HTTP请求方法,通常用于获取资源。在jQuery中...

    jQuery Ajax 实例代码 ($.ajax、$.post、$.get)

    在 jQuery 中,$.ajax 方法是进行 Ajax 请求的基础方法,而 $.post 和 $.get 是 $.ajax 的简化版本,用于处理常见的 HTTP 请求。 $.ajax 方法提供了丰富的配置选项,可以进行高度定制化的网络请求。使用 $.ajax 时...

    jqueryajax的$post和$get方法共3页.pd

    在jQuery中,`$.ajax()`是用于异步发送HTTP请求的核心函数,而`$.post()`和`$.get()`则是其简化版本,特别适用于快速实现GET和POST请求。本文将深入探讨这两个方法,并在3页的PDF文档中详细解析它们的用法和应用场景...

    $.ajax()方法详解

    $.ajax()方法是jQuery库中的一个核心函数,用于执行异步HTTP(Ajax)请求。它提供了丰富的选项来定制请求的方方面面,使得与服务器之间的数据交互变得简单易行。以下是$.ajax()方法的主要参数及其详细解释: 1. **...

    jQuery 封装Ajax

    jQuery的Ajax方法主要包括`$.ajax()`, `$.get()`, `$.post()`, `$.getJSON()`等。这些方法都提供了一种优雅的方式来发送和接收数据,同时提供了丰富的配置选项来处理各种情况。 ### 1. `$.ajax()` `$.ajax()`是...

    jQuery Ajax 实例详解 ($.ajax、$.post、$.get)

    $.post、$.get是一些简单的方法,如果要处理复杂的逻辑,还是需要用到jQuery.ajax() 一、$.ajax的一般格式 $.ajax({ type: 'POST', url: url , data: data , success: success , dataType: dataType }); 二、$...

    WEB开发 之 jQuery - AJAX get() 和 post() 方法.docx

    在jQuery中,AJAX主要通过`$.get()`和`$.post()`这两个方法来实现GET和POST请求。本文将深入探讨这两个方法以及它们在HTTP请求中的作用。 首先,我们需要理解GET和POST这两种HTTP请求方法的区别。GET主要用于从...

    jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解

    $.get()方法使用GET方式来进行异步请求,它的语法结构为: $.get( url [, data] [, callback] ) 解释一下这个函数的各个参数: url:string类型,ajax请求的地址。 data:可选参数,object类型,发送至服务器的key/...

Global site tag (gtag.js) - Google Analytics