这一节重点内容:验证规则与查询结果返回(有难度,有的语法不熟悉,比较痛苦)
上一节中,给提交按钮添加了点击事件,具体代码如下:
有个疑问,为什么箭头那里,一定要这么写呢?{}代表什么意思?:url又代表什么意思?还有:url()又代表什么意思?
解释:通常将地址写死的写法都是url:"www.afaljl.com",这里这么写,是因为thinkphp5中对于这样的语法,经过底层php代码的转换处理,就会提交到某个指定控制器中的指定方法,让这个指定方法去处理
可以看到,这是提交给checklogin这个方法的数据。而checklogin这个方法存在于User.php这个控制器中。前端的数据提交部分已经写好了。下面就开始写User.php控制器中的方法了。
首先,虽然前端提交了数据到checklogin方法中,但是,如果checklogin方法不接收数据的话,还是无法进行处理。因此需要先接收前端发过来的请求。一旦需要接收前端发送过来的请求,就需要用think\Request类,而且我估计他的这个Request $request是固定的,表示形参是request对象。这个对象中有各种成员、方法。
补充:
接收到前端的请求之后,先测试一下返回给前端的数据能否显示出来,就有了如下代码:
前面一节在编写前端代码的时候,留下了一个空,那就是当前端接收到后端返回数据的时候,前端该用那个方法如何处理?下面就把前面留下的空给补全。
上面这一步目前只是测试,如果没问题,那么登录页面一旦提交数据,就会弹窗,弹出来数组格式。又或者这么写:
这样就将success情况下,接收到的对象中status成员的值给弹出来了。。。
上面事情做完,如果一切顺利,有弹窗弹出相关信息,那么就说明前端可以成功提交数据给后端,后端处理完之后,也可以把数据成功返回给前端,并且展示出来。
再将前端代码做一些修改,若状态值为1就跳转,否则报错
下面,就开始对前端提交的数据进行验证,目前已知前端提交数据到User.php控制器checklogin方法中,因此在checklogin方法中,对提交上来的数据进行验证:
补充:
这边如果没问题,那么在页面尝试输入的时候,若没有输入,则会报出相关的提示
上面的验证码错误的规则忘记写了,这里补充一下
这里的验证,是验证用户是否输入数据,但是还没有验证数据的真实性。因此,下面需要去数据库中进行验证。
在tp5中,需要在database.php这里设置数据库的连接
设置好连接之后,开始构造数据库查询条件语句。但是,刚构造一半,发现得使用model方法,所以还得先创建model,路径是application/index目录,创建一个model文件夹,里面再创建一个User.php的model。需要注意的是,这里的model文件和控制器的User.php重名了。因此后面使用的时候还要注意一下。
在User.php中导入这个模型,方便使用系统的内置方法。之所以取名叫User.php,是因为数据库中那张表就叫user.
导入模型后,接着编写前端提交过来的数据查询
总结:
这一节内容比较多,因此总结很有必要。
总的来说,我认为这一节内容就分为2块,第一块,前端的数据提交,包括提交方式ajax,能否成功接收后端返回的数据;第二块,后端的数据处理,包括用户是否有输入,输入内容在数据库中能否查询到?这两种情况如何返回给前端?
另外,中间还掺杂着模板的建立与模板方法的使用。
网友评论