浏览器中发 POST 请求,地址栏是无法做到的,通常有两种方式可以:一种就是用 html 的 form ,另外一种是 HTTP 客户端,例如 axios/fetch 。介绍 form 的这种 形式以供学习参考。
首先此项目是在React 框架基础上完成的,首先填写表单(用户名 xixilide),点 submit 按钮,发出一个 POST 请求,可以在 chrome 开发者工具的 Network 标签下看到,请求的头部( Headers ) 中包含Content-Type: application/x-www-form-urlencoded
表示发送的数据,的内容类型是 application/x-www-form-urlencoded。
同样,在 chrome 的 Network 标签下,也可以看到,请求主体username=xixilide
请求头的第一行叫做请求行,打开 chrome 开发者工具,点开相应请求, 看到我们这次请求的请求行如下:POST /login
请求是由 form 发出的,对照代码我们会发现,action='/login'对应这里请求行的/login链接 这一部分,method='post'对应了请求行中的POST,也就是请求方法为 post 。
同时,前台的请求方法和链接,要跟后台 express api 中的方法和链接对应上,才能正确触发后台的对应 api 所以,