前端请求后端,不使用form table方式,使用request payload形式

    技术2022-07-11  82

    前端请求后端,不使用form table方式,使用request payload形式

    1.如果使用request payload形式

    在之前传值基础上对参数进行形式转换。转换为json字符串形式传输。

    data: JSON.stringify(data)

    2.request payload方式优点

    传递可以使用数组,遇到多个参数时候可以一起打包传递,相比单个参数传递更为安全。

    3.如何使用

    前台传递代码示例:

    var axios = require('axios') axios.post('/v1/GetUserDetail', { AppCode: info.code }).then(resp => { if (resp && resp.status == 200) { console.log("欢迎" + resp.data.name) } })

    后端接受代码:

    @CrossOrigin @RequestMapping(value = "/v1/SetAppCode", method = RequestMethod.POST) public Object SetAppCode(@RequestBody HashMap<String, String> jsonString) throws Exception { md_code = jsonString.get("AppCode"); UserId = orderingManageService.GetUserId(md_code); return UserId; }

    调用直接使用

    jsonString.get("AppCode")

    //----------------------------------------分割线----------------------------------------------------------------------------------------------------------------

    4.request与axios区别

    Axios

    基于 Promise 的 HTTP 客户端,可用于浏览器和 Node.js

    Axios 是一个基于 Promise 的 HTTP 库,可用在 Node.js 和浏览器上发起 HTTP 请求,支持所有现代浏览器,甚至包括 IE8+!

    优点

    同时支持 Node.js 和浏览器支持 Promise API可以配置或取消请求可以设置响应超时支持防止跨站点请求伪造(XSRF)攻击可以拦截未执行的请求或响应支持显示上传进度广泛用于 React 和 Vue 项目

    缺点

    用起来比较麻烦

    Request

    简化版 HTTP 请求客户端

    Request 提供了一种简化的 HTTP 请求方式。 你可以使用比其他 HTTP 库更少的代码来发起 HTTP 请求。 它不是基于 Promise 的,但如果你需要 Promise,你可以引入request-promise 库,将请求封装为 Promise 并返回。

    优点

    API 简单易用

    缺点

    不基于 Promise

    补充--------------------------------------------------------------------------------------------------------------------------------------------------

    Axios配置headers可以对后台进行request payload形式访问,而request不可以进行request payload形式访问。

    headers: { 'Accept': 'application/json', },

     

    Processed: 0.011, SQL: 9