AJAX - $.get( url, [data], [success], [type] )
来源:互联网 发布:网易云音乐 云盘 mac 编辑:程序博客网 时间:2024/06/01 22:03
$.get(url,data,success(response,status,xhr),dataType)
url:必需。规定将请求发送的哪个 URL。
data:可选。规定连同请求发送到服务器的数据。
success(response,status,xhr):可选。规定当请求成功时运行的函数。
额外的参数:
response - 包含来自请求的结果数据
status - 包含请求的状态
xhr - 包含 XMLHttpRequest 对象
dataType:可选。规定预计的服务器响应的数据类型。
默认地,jQuery 将智能判断。
可能的类型:”xml”“html”“text”“script”“json”“jsonp”
【JSP页面】
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'post.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript" src="./scripts/jquery-1.7.2.js"></script> <script type="text/javascript"> var url =""; var queryString = ""; $(function(){ $("input[type='button']").click(function(){ url = $("#editform").attr("action"); queryString = $('#editform').serialize(); $.get(url+"?querystring="+queryString,queryString,function(data){//querystring=username=yanshi02&password=123456&username=yanshi02&password=123456//resultJson ...{"username":"yanshi02","querystring":"username=yanshi02","password":"123456"} //$.get(url+"?querystring="+queryString,function(data){ //querystring=username=yanshi02&password=123456 //resultJson ...{"querystring":"username=yanshi02","password":"123456"} //$.get(url,queryString,function(data){ //username=yanshi02&password=123456 //resultJson ...{"username":"yanshi02","password":"123456"} alert(data); } ,"json"); }); }); </script> </head> <body> This is my JSP page. <br> <form id="editform" action="postServlet2" method="get"> <input type="text" name="username" value=""/> <input type="password" name="password" value=""/> </form> <input name="post" type="button" value="提交"/> </body></html>
如下图标明:
get方式 数据都在Query String Parameters里面!!!
【后台接收思路】:
讲post的时候已经说明,request.getReader()只能获取请求体(form data)的数据,URL的数据(query string)获取不到!
① 使用request.getParameterMap
;
该方法不分Form Data or Query String Parameters , 而是将数据以Map<String,String[]>
返回。同名称的key对应的值,组成一个String[ ];
参考前篇post 的后台接收方法2:后台接收方法2
http://blog.csdn.net/j080624/article/details/54946974
② 使用request.getQueryString
;
package com.atgui.ajax.app.servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.HashMap;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.codehaus.jackson.map.ObjectMapper;public class GetServlet extends HttpServlet { /** * Destruction of the servlet. <br> */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); //拿到$("#editform").serialize(); String jsonString =request.getQueryString() ; System.out.println(jsonString); //通过拿到的querystring转换为map HashMap<String, Object> map = getMapFromQueryString(jsonString); //将转换得到的map转换为json并返回 ObjectMapper objectMapper = new ObjectMapper(); String resultJson = objectMapper.writeValueAsString(map); System.out.println("resultJson ..."+resultJson); out.print(resultJson); out.flush(); out.close(); } public void init() throws ServletException { // Put your code here System.out.println("getServlet init()...."); } public HashMap<String, Object> getMapFromQueryString(String queryString) { //这个方法可能不适用你 HashMap map = new HashMap<String, String>(); String[] qStrings = queryString.split("&"); for (String string : qStrings) { String[] qStrings2 = string.split("="); map.put(qStrings2[0], qStrings2[1]); } return map; }}
result as follows :
getServlet init()....username=yanshi02&password=123456resultJson ...{"username":"yanshi02","password":"123456"}
此时的json为typeof data = object 可以直接使用data.key 获取属性,不用进行转换!!!
题外话
上面所传输的数据格式为username=yanshi02&password=123456
。
如果传输的数据为JSON形式呢?
queryString = $('#editform').serializeArray();//objectqueryString = JSON.stringify(queryString);//string
请看下一篇JSON形式【http://blog.csdn.net/J080624/article/details/54949773】
- AJAX - $.get( url, [data], [success], [type] )
- AJAX - $.get( url, [data], [success], [type] )-2
- AJAX - $.get( url, [data], [success], [type] )-3
- jQuery Ajax请求-jQuery.get(url, [data], [callback], [type])
- function BtnList_Click() { $.ajax({ url: "aa.asmx/GetList", data: {}, type: "post", success: fu
- 在js的方法中使用$.ajax({url,data,type,dataType,success});
- Ajax技术--检查用户名是否唯一($.get(url,data,success()))
- AJAX - $.post(url,data,function,type)
- AJAX - $.post(url,data,function,type)-2
- AJAX - $.post(url,data,function,type)-3
- Ajax技术--实时显示聊天内容($.post(url,data,success()))
- jQuery Ajax请求-jQuery.post(url, [data], [callback], [type])
- $.get( url, [data], [callback] )
- ajax post data 获取不到数据,注意 content-type的设置 、post/get
- ajax post data 获取不到数据,注意content-type的设置post/get
- ajax post data 获取不到数据,注意content-type的设置post/get
- model.addAttribute() return @ResponseBody $ajax success data的关系
- Get Excel data type in SSIS
- 浅谈dubbo服务
- android studio自动导入所有包
- nginx学习笔记
- spring学习笔记
- Spring操作Redis时key值出现 \xac\xed\x00\x05t\x00\tb
- AJAX - $.get( url, [data], [success], [type] )
- 将java文件编译成class文件
- apache修改站点目录以及添加站点目录
- maven之helloworld——使用log4j在main中打印输出
- iptables 防火墙设置
- mybatis如何接收字符串转换为date类型插入数据库
- 99.hdu--2031--进制转换
- 乐观锁与悲观锁——解决并发问题
- 获取当前日期时间,获取当月最后一天