AJAX - $.get( url, [data], [success], [type] )-3
| 
                         上一篇【http://www.52php.cn/article/p-olpzclwq-bpe.html】 提到请求格式为 本篇讲一下下面格式的后台接收第三种思路: queryString = $('#editform').serializeArray();
queryString = JSON.stringify(queryString);//string
//querystring为json 字符串数组
$.get(url,function(data){} 
【后台接收方法】 思路 :使用 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 GetServlet3 extends HttpServlet {
    /** * queryString = $('#editform').serializeArray(); queryString = JSON.stringify(queryString);//string $.get(url,function(data){}); */
    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,IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        String jsonString =request.getParameter("mydata") ;
        System.out.println(jsonString);
        ObjectMapper objectMapper = new ObjectMapper();
        String resultJson = objectMapper.writeValueAsString(jsonString);
        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()....
//解析得到的mydata
[{"name":"username","value":"yanshi02"},{"name":"password","value":"123456"}]
//返回的json
resultJson ..."[{"name":"username","value":"yanshi02"},{"name":"password","value":"123456"}]" 
如果直接返回jsonString ,此时typeof data = object ; 那么不需要进行解析可以直接使用data.key获取json 属性; 
 
 如果返回resultJson,则需要进行解析 ,才可以遍历json属性! 解析过程参考 前面讲的post 【F12查看浏览器】 可以看到浏览器对URL里面的数组进行了编码,但是我后台并没有显示使用URL解码: String jsonString2 = URLDecoder.decode(jsonString.toString(),"UTF-8");
        System.out.println(jsonString2); 
结果仍然正确! 关于解码编码问题,可以参考我写的系列文章HTTP请求中的编码解码 Tips: 参考post参考post传输参数数据格式为{key : value}可知: 无论 get 或者 post ,如果data为{key : value}形式。 则都可以使用 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
