关于css:前端主流布局系统进阶与实战

3次阅读

共计 1727 个字符,预计需要花费 5 分钟才能阅读完成。

download:前端支流布局零碎进阶与实战

@RestController
public class GreetingController {

// 解析 application/json
@RequestMapping(value = "/hello", method = RequestMethod.POST)
public Object getJson(@RequestBody Object obj) {return obj;}

}

客户端,原生 ajax

var xhr = new XMLHttpRequest()
xhr.onreadystatechange = function (ev) {console.log(xhr.readyState);
    if (xhr.readyState === 4){if (xhr.status === 200){console.log(xhr.responseText);
        } else {console.error(xhr.statusText);
        }
    }
};
xhr.open('POST','/hello');
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify({ name:'zhuwei', age:'25', hobby:'ball'}))

阅读器请求详情

1534052079504.png

application/x-www-form-urlencoded

服务端,springboot

@RestController
public class GreetingController {

// 解析 application/x-www-form-urlencoded
@RequestMapping(value = "/helloFormUrl", method = RequestMethod.POST)
public String getForm(@RequestParam("name") String name,@RequestParam("age") String age) {return "name="+name+"&"+"age="+age;}

}

客户端,html form 表单

<form action=”/helloFormUrl” method=”post”>

<input type="text" name="name">
<input type="text" name="age">
<input type="submit">

</form>

或者使用 ajax

var xhr = new XMLHttpRequest()
xhr.onreadystatechange = function (ev) {console.log(xhr.readyState);
    if (xhr.readyState === 4){if (xhr.status === 200){console.log(xhr.responseText);
        } else {console.error(xhr.statusText);
        }
    }
};

// 生成 post 参数 params,有三种方法,选一种
//1. 使用 URLSearchParams 接口, 会对内容进行 utf8 编码
const params = new URLSearchParams();
params.append('name', '小明');
params.append('age', '18');

//2. 使用 encodeURIComponent 对内容进行编码
// 好处是 url 中的汉字等一些特殊字符会被转为 utf8 编码,缩小出错
const params = "name="+encodeURIComponent("小明")+"&age="+encodeURIComponent("19")  

//3. 不编码间接写,可能服务端会解码谬误
const params = "name= 小明 &age=19"

xhr.open('POST','http://localhost:1234/helloFormUrl');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send(params)

正文完
 0