zoukankan      html  css  js  c++  java
  • 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);
        }
    
    

    偶也!!!!!

     
  • 相关阅读:
    处理安卓9patch(.9.png)图片
    block 方法参数中带有block 如何生成 如何使用
    hash_hmac
    日期(NSDate)是NSString类的格式(stringWithFormat)
    UITableView刷新单个cell或者单个Section
    iOS enum 定义与使用
    拼接url地址
    demo效果
    好东西
    关于ios7 navigationController中view的frame以及坐标点
  • 原文地址:https://www.cnblogs.com/WhiteHorseIsNotHorse/p/6215264.html
Copyright © 2011-2022 走看看