国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

AJAX - $.get( url, [data], [success], [type] )-2

2024-04-27 15:18:41
字體:
來源:轉載
供稿:網友

上一篇【http://blog.csdn.net/J080624/article/details/54948321】的講解傳到后臺的參數形式為username=yanshi02&passWord=123456 字符串。

那么如果傳到后臺的格式是JSON呢?

queryString = $('#editform').serializeArray();//objectqueryString = JSON.stringify(queryString);//string$.get(url,queryString,function(data){});

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="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(); queryString = $('#editform').serializeArray(); queryString = JSON.stringify(queryString);//string $.get(url,queryString,function(data){ alert(data); } ,"json"); }); }); </script> </head> <body> This is my JSP page. <br> <form id="editform" action="getServlet2" method="get"> <input type="text" name="username" value=""/> <input type="password" name="password" value=""/> </form> <input name="post" type="button" value="提交"/> </body></html>

【后臺接收方法】

思路:

使用request.getQueryString();獲取傳輸的數據。

因為是JSON形式,所以不適宜用request.getParameterMap;

因為是 get 請求,數據都在Query String Parameters 里面,不能使用request.getReader;

package com.atgui.Ajax.app.servlet;import java.io.IOException;import java.io.PrintWriter;import java.net.URLDecoder;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 GetServlet2 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); //進行解碼,否則會有大量轉譯字符,如%22%23 String jsonString2 = URLDecoder.decode(jsonString.toString(),"UTF-8"); System.out.println(jsonString2); ObjectMapper objectMapper = new ObjectMapper(); String resultJson = objectMapper.writeValueAsString(jsonString2); 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()...."); }}

result as follows :

//servlet初始化getServlet init()....//獲取的string,有大量轉譯字符[{%22name%22:%22username%22,%22value%22:%22yanshi02%22},{%22name%22:%22password%22,%22value%22:%22123456%22}]//解碼后的字符串[{"name":"username","value":"yanshi02"},{"name":"password","value":"123456"}]//返回的jsonresultJson ..."[{/"name/":/"username/",/"value/":/"yanshi02/"},{/"name/":/"password/",/"value/":/"123456/"}]"

題外話:

如果請求格式為$.get(url,{mydata:queryString},function(data){});呢?

首先看大圖:

這里寫圖片描述

數據在 Query String Parameters 里面。

一般有兩種思路:

① 使用request.getParameterMap;

多用在`username=yanshi02&password=123456`形式中。

② 使用 request.getQueryString;

附結果如下:

//獲取的stringmydata=%5B%7B%22name%22%3A%22username%22%2C%22value%22%3A%22yanshi02%22%7D%2C%7B%22name%22%3A%22password%22%2C%22value%22%3A%22123456%22%7D%5D//解碼后的stringmydata=[{"name":"username","value":"yanshi02"},{"name":"password","value":"123456"}]//返回的jsonresultJson ..."mydata=[{/"name/":/"username/",/"value/":/"yanshi02/"},{/"name/":/"password/",/"value/":/"123456/"}]"

第三種思路 !!!

點擊查看第三種思路【http://blog.csdn.net/J080624/article/details/54950679】


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 堆龙德庆县| 瑞安市| 东乡| 海淀区| 赤峰市| 鸡西市| 清流县| 湘阴县| 都兰县| 石景山区| 吴川市| 瑞金市| 纳雍县| 富民县| 庆阳市| 上林县| 夹江县| 方城县| 珠海市| 湄潭县| 教育| 托克逊县| 双辽市| 张家界市| 新疆| 四平市| 益阳市| 永善县| 台北市| 出国| 宾川县| 万全县| 玉山县| 濉溪县| 泗阳县| 宁强县| 临泉县| 光山县| 札达县| 阜新| 股票|