ajax之 get post请求

get请求
function get(){
        $.get( "./Aservlet?id=5", function(data, textStatus, jqXHR){
            $("body").append( data );
        } );
        
    };
发送时候 截取的报文
GET http://localhost:8080/KKserver/Aservlet?id=5 HTTP/1.1 Host: localhost:8080 Connection: keep-alive Accept: */* X-Requested-With: XMLHttpRequest User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36 Referer: http://localhost:8080/KKserver/test.html Accept-Encoding: gzip, deflate, sdch, br Accept-Language: zh-CN,zh;q=0.8
返回的报文
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: 100
Date: Fri, 23 Dec 2016 08:18:11 GMT

GET http://localhost:8080/KKserver/Aservlet id=5
GET http://localhost:8080/KKserver/Aservlet id=5

post请求

function post(){
        $.post( "./Aservlet?",{ bookId: 2 , money: 100}, function(data,textStatus, jqXHR){
            $("body").append( data );
        } );

    };

发送的报文

POST http://localhost:8080/KKserver/Aservlet? HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 18
Accept: */*
Origin: http://localhost:8080
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://localhost:8080/KKserver/test.html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.8

bookId=2&money=100

返回的报文

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: 10
Date: Fri, 23 Dec 2016 08:21:45 GMT

POST :ok

post  json时候

$.ajax({
             url: "./Aservlet",
             type: "POST",
             data: ss,
             success:  function(data, textStatus, jqXHR){
                    $("body").append( data );
                } ,
              dataType: "json" 
            });

发送的报文

POST http://localhost:8080/KKserver/Aservlet HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 28
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://localhost:8080
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://localhost:8080/KKserver/test.html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.8

{"name":"the5fire","age":38}

返回的报文

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: 10
Date: Fri, 23 Dec 2016 08:24:03 GMT

POST :ok

但是用backbonejs 中的 model的   .save();方法时候

发送的报文

POST http://localhost:8080/KKserver/Aservlet HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 28
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://localhost:8080
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36
Content-Type: application/json
Referer: http://localhost:8080/KKserver/demo3.html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.8

{"name":"张三","age":"38"}

服务端用request.getParameterMap(); 却获取不到数据  不知道这是为什么?

补充 ( chrome  插件 Advanced REST client  挺好的 可以模拟发送http请求)

发现 就是因为  

Content-Type: application/json(backbonejs的)
Content-Type: application/x-www-form-urlencoded(常规的)
所以后台常规办法request.getattrivute 是不行的
看文章说 spring 框架可以解决 但是属于后台的范畴我就先不研究了
不知道用servlet有什么好办法呢?如果您看到这里 恰巧知道 请留言谢谢

经过小云同学的努力 知道了
后台可以
    //字符串读取
    public void charReader(HttpServletRequest request) throws IOException {
        BufferedReader br = request.getReader();
        String str, wholeStr = "";
        while((str = br.readLine()) != null){
        wholeStr += str;
        }
        System.out.println(wholeStr);
    }
    //二进制读取
    public void binaryReader(HttpServletRequest request) throws IOException {
        int len = request.getContentLength();
        ServletInputStream iii = request.getInputStream();
        byte[] buffer = new byte[len];
        iii.read(buffer, 0, len);
    }

偶也!!!!!