00:00
下面我这样啊,我在这一个封表单呢,我在这个action这块请求地址后边呢,我也加下这样的一个请求参数,比如问号username等于,诶交一个什么呢?我交一个这个。好的,你比如叫我吧,啊,叫一个韩。然后再按呢,Password等于一个什么呢?我的密码等一个什么呢?666好就这样了,那现在你这个猜一下啊,我在这个解析表单,然后呢,得到这个呃,r.form的时候,U的name是我输的那个值呢,还是这个函呢?还是两个都有呢?你看我这个时候提交表单的时候,这个里边这个参数是不是相当于以get的形式提交过去的,对吗?Form表单里边这个是不是以POS形式在请求T里边传过去的,那现在这个时候,但是它两个这个请求参数的参数名是不是一样啊。
01:04
哎,那你说这个时候请求参数,我们这个打印的时候会是什么情况呢。是U的name,呃,是我输的那个值呢,还是就是这个URL后边这个值呢,还是两个都有呢。哎,我们来试一下啊,我们来试一下。哎,两个都有是吧,哎,我们来试一下啊,我录屏了吗?啊录了啊。来,哎,回来。诶,你改了H页面之后,你就不用这个再重新部署这个重新编译了啊,因为我们没有动库文件,所以呢,我这个直接刷新它啊,直接刷新它我们看一下啊,查看源代码,看这个页面。啊里边有啊,U的内是它好,现在呢,我们再来输一个U的内啊,这个其实不用指定啊,我们这个。默认就是它首先呢,这个也不用指定,我们把它也删了啊。干掉了。一般我们这个文件上传的时候要改一下,它改成那个MU form data。好,哎来哎,刷新一下,来一个me,来一个123,注意了,我们action后面那个you的name是含对吧,Passwor是666,现在我输入的user的nameme是不是in,密码是123对吧?好哎,来提交一下。
02:18
诶,你看是不是都有。诶对吧,You nameme of the mean含PASSWORD123666,诶对吧,诶都有啊都有,所以呢这块,哎说一下啊说一下。在这个购物这一块,我们来写个注释啊,写个注释。我们的文件呢。你看我这个网线有问题,你们是不是又又没屏啊。我这个网线好像又。又这个掉了。刚才咋啦?刚才怎么了?好像没问题。录了录了。我不是,我不是他特意看了一下吗。
03:02
特意看了一下啊,录了啊。来这个屏啊,重新拨一下啊,又没了是吧,没有了吧,嗯,没有了啊,再来一次,有了是吧,这个这根线有问题,这个让他们处理一下啊。这个一会儿一会儿的这个这个线下边这个图标啊,就没了,然变成一个WiFi的一个图标了啊,获取请求单这块我们再一块说一下啊,如果这个phone母表单。哎中,哎也有什么呢,也有这个,嗯,鱼。这样啊,不是phone表单form表单这个action。属性在这个地址中。也有这个请求参数与什么呢?附表单这个请求相这个参数比较相同的这个请求参数。表单。
04:06
那么这个参数值。都可以得到。并且注意啊,这个时候呢,并且form表的里边这个参数值会在这个action后边那个URL里边那个参数值的前面,哎,注意啊,URL地址中,哎,URL这块写个UR也有这个与form表单参数比较相同的一个形式参数,那么换一行啊,换一行太长了,参数值都可以得到,并且。并且什么呢,附表单。中的这个参数值,在这个URL的这个参数值的这个前面。前面哎,就是这个啊,就是这个它这个默认的啊form表单呢,是在这个URL这个参数值的这个前面呢,现在呢,我们也发现了我们这个a me呢,是我们输入的这个form表单里面那个值,诶这个啊含呢是我们这个action那个URL后边那个诶U这个值,所以那form表那值呢在它前面,那如果这个时候啊,我只想比如获取附表单里边这个值该怎么办呢?不想拿URL里边的怎么呀。
05:18
其实这种情况我们这个是不会有的啊,不会有的,这个呃,提交的时候,呃,基本上这个我们这块即使有,而且这个参数名我们也写的不一样,即使有这个写的也不一样,你不可能这个写的都一样,如果假设啊有这种情况的话,你要知道他这个呢,做表单子在他前面啊,这个在后边,还有针对这种情况,如果我要只想获取表单里边这个值该怎么办呢?也可以获取,需要用另外一个这个呃属性和方法了,我们看一下,嗯。我们再往下看。对表单做一些修改,哎下边这块就是那个按我们刚刚模拟的那种,哎,执行的结果就是这样啊,就是这样,哎说了表单中的请参数呢,哎排在URL情参数的前面,哎,那这个时候呢,如果我们只想获取表单中的请求参数怎么办呢?我们用post form字段在request里边,哎还有一个字段。
06:08
哎,叫post form,你一看这个名字,你就知道post form是不是post,你就能想到应该是不是映射这个,呃,处理这个post请求的对吧,所以这块啊,POS方就是获取这个,哎,Form表单这个里边,因为一般我们提交这个phone表单啊,基本上都提交这个POS请求啊,POS请求,所以呢,我们现在呢,哎,再来打印一句话。在我们写的这个慢点go里边,我把其他的先关掉了啊,关闭其他在这块我们来再来复制一个。复制一个他,哎把这个改一下,改成什么呢?哎,POS请求到父母表单里边,这个请求参数是。我们表单。请求参数有好这块呢,改成一个R点一个post。
07:04
Postpone。Post form,好,诶这个时候呢,就得到的是这个form表单里面那个请求参数了,就不再有什么URL后边那个请求参数了,好这个改完之后呢,啊,我们把这个错误信息这个就。不打印了啊。不要了啊,把这个先删了。这个也删掉了。保存CTRLC来再重新编译一下。你这鼠标怎么变成这样了?Go build,慢点,Go。点exe好。来下面呢,来测试一下,回来刷新一下,来一个的me,来一个123,来点一下提交,诶来看post这个请求的父表达热的请求参数是不是就只有这个我输的米和password了和123了,对吧?哎这个时候呢,即使你action后边那个有哎我现在也拿不到啊,也拿不到那有的说如果我这两个这个参数名不一样。
08:10
点开它,诶如果我这个参数不叫user么叫user,那你用那个post form里边有它吗?诶也没有,也没有post form那个呢,只是包含我这个post请求的这个form表单里边这个值啊,附表单里边这个值,所以呢,这个URL后边你再写多少他都拿不到,完都拿不到,只是这个啊这这个。呃,如果两个都有的话,嗯,你可以这个,比如用这个呃phone,用这个phone,你可以拿这个UR里边跟这个POS,这个POS里边的都能拿到,如果想单独拿post里边的,你就可以用这个post了啊post form这个字段,诶这是这个啊,那另外呢,还有我们还有这个简单的方式,因为我们这个不管你用这个form字段还是post form字段,你在这个。用这个字段之前,是不是必须得调一下这个pass form这个方法呀,那我能不能不调这个方法也能拿到这个值呢?也可以也可以,那就用另外的,诶我们来看啊,另外的这个方法直接传那个K就能得到值了,我们来这是个post form字段这块呢,这个已经过了啊,不看它了。
09:15
但是啊,注意啊,这个post form字段呢,只支持这个这个的类型的一个编码,就是我们那个form表单里面那个叫啥呢。叫in time是吧,Inco time那个属性啊,那个属性这个post字段的只支持它,那如果你这个表单呢,它呢改成这个multi form data的时候,那么使用它呢,就无法获取表单里边这个数据了,诶这个时候就需要用multi form字段了,诶这个就是文件文件上传的一个啊,一般我们要实现这个文件上传的功能的时候呢,就需要指定这个属性为这个没帕分布data说的是它啊,我们刚我刚刚把它删了,现在再给你加上就是这个。哎,In Co time,哎,默认是它,诶默认是它,我们昨天呢,也给大家说过,写了它之后呢,因为一般我们写这个表单默认值就是它,一般我们不指定它,诶如果你这个实现文件的上传的时候,我才显示的来指定这个,哎,In income inco ta这个属性,诶如果要实现文件的上传,这个值就不能是它了,是它,是它的时候会干什么呢?它会对表单里边这些数据进行编码,然后呢,我们在后台就能得到里边的值了,哎,如果不是它呢,我就得不到了啊,得不到了,如果要不编码表单里边数据,我后台是得不到里边的值的,所以呢,必须得是大家才能得到,那如果你要换成另外一个值。
10:30
用这个post form它也是得不到的,因为现在是实现文件的上传了,就相当于这个意思啊。诶叫一个,诶MU part,诶,Form data,诶如果是这个值,如果你是一个实现文件上传那个表达那个值必须得设置成MU part form data,它就会以一个这个里边的表单项,就会一个多部件的形式来传到这个服务器了,哎,多部件,那这一个表单项就是一个多部件,就是它会这个,诶你比如导入其他的炸包啊,或者它会。能进行这个额外的一个处理啊,我在处理,而且它后后台我们来获取这些里边内容呢,又不是我们普通的那种方式来获取了,所以如果要改成它,诶用这个postone呢,诶就拿不到里边的内容了啊,用这个就拿不到里边的内容了,诶这时候呢,必须得用另外一个叫multi passone,诶这个字段就是专门为我们这个文件上传的时候啊来提供的这样的一个字段啊这个字段另外我们来说明一下啊,这个分数表单里边这个属性默认是它呃,实现文件上传的需要将这个属性呢,设置为这个命的需要需要将。
11:31
将还错了是吧。需要将该属性的值设置为这个MU form data就这一块啊,这这块这是呃,说一下啊,如果要用这个for,这个post form这个字段,你必须得保证那个ink,呃,Tap那个属性呢,是这个A,呃,斜杠杠,这个X杠杠什么form u可以的,也就说必须得用这那个默认值,如果要你实现文件的上传,就不能用它了,哎,就用不了它,就用另外一个因form字段,好就是这个啊,你这个了解一下啊,了解一下。
12:04
然后下边呢,我们就说来说来说这两个方法了啊,一个是form value,一个是post form value,这两个方法呢,可以。让我们那个步骤相当于于少一步,哎,少一步你直接可以传那个属性名来得到对应的值,诶来看这个缝母Y6,可以通过这个缝Y流方法快速的获取某一个请求参数,比如那么前台传来一个username,传来一个passwor,比如我想现在快速的拿到user内,当然了,我们我们用上面这种方式能不能拿到user和passwor呀。可以吧,因为它是一个卖方嘛,对吧,诶拿它很方便啊,很方便,但是呢,哎,我感觉还不是很方便,给你提供了两个方法,诶FORM6,诶来看该方法调用之前呢,会自动的调用什么pass music form和pass form,我们刚刚是不是手动的,在过去之前调的这个pass form。哎,现在有了这个方法之后呢,不用你手动调了,你再调这个方法的之后,它会自动的来调它,诶会自动的调这个啊,我们也可以看一下这个文档啊,文档我那个截图其实就是这个文档里边的。
13:06
找一下我们这个。Request的一个方法。哎,这这pass form pass form,诶来看pass解析UR中的查询字符串,并将解析结果更新到这个r.form字段也是啊,这个解析中呢,然后更新到这个2.form母,也就是呃这个呃,你调完它之后呢,它也能把把那些内容呢放到这个呃,Form这个字段里边啊对于post这块就不读了啊,就不读了。这是个方法,哎,Form value啊,我们看这个form value呢啊,Form value form value呢,返回KV这个键查询r.form字段,得到这个结果,哎,这个切片的第一个值,诶,比如呢,我这个调附ma里边传了一个uname,就能把那个u name,你这个前端传过来的u name那个值就能拿到了,哎,这块呢,Post和put,呃,读体中的同名参数呢,优于ul查询的字符串,为什么用于它,因为我刚刚也看到了啊,你通过那个,如果这个ul里边跟form表单里边有个同名的形式参数,是不是附表单的排在前面啊。
14:05
诶,对吧,Form表单排在前面,所以呢,肯定还有这个post里边的form表单里边的要优于这个URL的啊,如果必要,呃,本函数呢,还会隐式的,哎,就是隐私的调用这个什么pass multi form和pass form,也就是你这个直接里边传一个u name,你想获取u name参数,那我们之前那个是手动的来调一下这个pass,现在呢,它会隐示的有是自动的帮你来调,不用你来调了,直接用pass,呃这个呃,Pass这个form value这个方法就可以了,它自动的帮你调这个pass,如果要文章的上传,它自动的帮你调这个pass,哎,这个方法,哎,是一个意思啊,一个意思,那下边这块有一个post value,这个就不用说了,这干啥的呀。POS form是不是获取那个表单里面对吧?诶你发一个POS,就里边有那个数据,诶所以呢,我通过它就可以了啊,就可以来拿里边了,那当然UURL里边的你就不能用它了,那这个里边呢,包含URL里边的,也包含POS里边了,对吧?它是不是相当于包含它呀,对吧?它两个的谁它两个谁大谁小啊,这个你得清楚,Form y6里边仅有UR里边的,是不是我既可以获取U里边的,是不是也可以获取form母了在里边的。
15:14
但是这个是不是只能获取那个form表单里边的对吧?哎,只能获取form表单里边的啊,这是这两个方法啊,哎,返回呢什么呢?Post form字段得到这个这个第一个值,因为就是说post form得到这个值吧,如果必要呢,它也会隐示的调,也就说用这两个方法就不需要我们手动来调用了,来我们来测一下。好,现在我把这个注注注掉,诶怎么删了。住掉CTRL斜杠好住掉了,住掉之后呢,这两个呢,那我们也住掉了,这个没有掉它,哎得不到了。我们直接干什么呢,调用。写个注释,通过调用,通过直接调用。通过直接调用什么呢?这个叫form value。
16:03
方法。啊和什么呢,Postone。直接获取这个请求参数。参数的值好那这块啊呃,负母Y6,我们刚刚也说了,它这个优先得到的也是的表单里边的,所以呢,这个时候啊,我们把这个页面改一下,我把这两个K呢改成不一样了,然后改成一样的,它得到的都一样了,所以呢,我把这个K改一下啊,这个改成U的,哎,这个改成U的里边是含,然后呢,后边的password不用管了,我们就后续啊这个U的啊这个呢,这个参数名叫u name,所以呢,下面呢,我们来在这来写一下,获取一下这个获取URL里边的。直接R点一个什么呢?Form。Form y6 Y6,这样我们先打印吧,Fmt点一个print。来括号W逗号,哎,写一下什么呢?哎哎,URL。
17:00
这些URL了啊。用的这个什么呢,U的。请求参数。参数的值是好,后边呢。逗号。R点一个R点一个form y6。我里边传一个user,哎,这个P,哎就是这个请求参数的参数名,那同样来复制一个下面呢,哎,就是form表单。中端,呃,这个U端内的一个请求参数。这一块呢,不是用它了。有一个post。Form y6post form y6它能不能自动的帮我们调这个pass form啊,自动的帮我们解析这个表单了,诶里边来一个username好保存这是这块啊哎,我们这个为什么我我要把这个呢,参数名改成不一样,因为呢,你如果要改成一样的话,上边跟下边的指数不就一样了。
18:09
因为这个form y嘛,它优先是不是也是拿到表单里面,那个表单里边的值排在前面,所以那个排在后面,所以他优先拿到这个表单里面的,所以我把它改成不一样了啊不一样,这两个都不一样了,肯定拿的就是这个URL里边的,好诶来CTRLC。再编一下。那包头了。啊,多了一个括号。好。来啊,再来。慢点,Go。慢点一一好,来发个请求。回来刷新一下,来一个me。666提交。哎,来看这是不是URX后面那个值对吧?哎,U的对应的值,然后呢,这是不是我们表的输的幂对吧?哎,这数就可以得到了啊,就可以得到了,所以啊,那我们这个你现在想了,那后期呢,我们假设登录的时候输入。
19:07
用户名密码点一下登录到这个服务器端,我是不是直接根据这个,因为一般我们提交百分都提交POS请求,我是不是直接r.POS value6传一下那个内部属性值就能拿到用户描述密码了,对吧,我在后台诶我们这个刚刚呢,数据库连数据库那块也解决了,所以呢,这块啊,其实呢,我们就可以把它两个相当于打通了,哎,连连连在一起了,通过这一个R得到之后呢,我们在调里边的方法就可以实现用户名和密码的一个校验了啊。好了啊,这是我们这一块出于这个请求这块再往下就是给客户端响应了,诶客户端响应了,诶用这个response write了response write里边呢,其实也有hier,你比如在摄像头里边,你比如要给他这个什么重镜像等等啊,这个都是可以的,那下面给大家。一段时间啊,你把刚刚说的这里边儿这些数字段啊,包括这个方法啊,自己练一下,然后呢,我们来说这个响应。
我来说两句