legend3---17、如何抽象和复用控制器中的方法

一、总结

一句话总结:

比如不同的控制器中都用了检查手机号是否已经注册,是否没注册这样的功能,我应该如何抽象和复用方法
新建一个处理手机号码的模型或者控制器,让其它控制器里面的操作调用这个控制器里面的方法,就是其它控制器里面关于手机号的操作都是方法的调用(空壳)

1、框架中不同用户对应的session应该是不一样的(就是存的session数据,而不只是sessionID)?

laravel不同用户对应的同名的session是独立的:不同用户会根据不同的laravel_session从而将session存在不同的session文件里面

2、什么时候用session,什么时候用缓存,什么时候用配置文件,什么时候用数据库?

- session:临时数据
- 缓存:用户数据
- 配置:系统相关设置
- 数据库:长久数据,当然临时数据也可,所有的都可

3、为什么总是会发生验证码没在session里面的情况,验证码用$request->session()->flash('regcaptcha', $phrase);方式存?

因为闪存session下一次请求过期,而现在进行了手机号是否存在的验证的ajax请求,而此时没有刷新session:也就是没有$request->session()->reflash();

4、js如何判断一个变量是否为对象?

typeof errors == "object"

5、js如何查看一个对象中属性的个数?

div v-if="Object.keys(errors).length"
var obj = {
key1:1,
key2:2,
key3:3
}; Object.getOwnPropertyNames(obj).length
Object.keys(obj).length

6、laravel邮件发送?

\Mail::send('mail.reg',[],function ($message){});:参数2是数组,数据供第一个参数使用
//第二个参数是数组,数组里面的数据就是供 第一个参数的视图使用的
\Mail::send('mail.reg',[],function ($message){
$message->to('404006308@qq.com');
$message->subject('亲爱的用户,恭喜您注册成功');
});

7、js中为什么如下代码console.log(can_submit)的值总是false?

因为代码是异步执行的,console.log(can_submit)很傲娇的,才不会等着ajax完才执行呢

|||-begin

var can_submit=false;
$.post("/is_phone_exist", {'u_phone':phone,'_token':'{{csrf_token()}}'} ,function (data) {
//console.log(data);
if(parseInt(data.valid)==1){
//手机号存在的情况
$("#u_phone").removeClass('reg_danger');
$("#u_phone").addClass('reg_success');
layer_alert_success_mobile(data.message);
can_submit=true;
console.log(can_submit);
}else{
$("#u_phone").removeClass('reg_success');
$("#u_phone").addClass('reg_danger');
layer_alert_fail_mobile(data.message);
can_submit=false;
}
});
console.log(can_submit);
return can_submit;

|||-end

8、同步ajax的post请求实例?

这是为什么很多人用$.ajax而不直接用$.post的原因:因为$.ajax可以设置更多参数
将异步方式设置为false即可:async: false
$.ajax({
type: "POST",
url: "/is_phone_exist",
data: {'u_phone':phone,'_token':'{{csrf_token()}}'},
async: false,
success: function(data){
//console.log(data);
if(parseInt(data.valid)==1){
//手机号存在的情况
$("#u_phone").removeClass('reg_danger');
$("#u_phone").addClass('reg_success');
layer_alert_success_mobile(data.message);
can_submit=true;
}else{
$("#u_phone").removeClass('reg_success');
$("#u_phone").addClass('reg_danger');
layer_alert_fail_mobile(data.message);
can_submit=false;
}
}
});

9、所有可以用session的都可以用数据库?

比如验证码,比如手机验证码,就是数据库相对于session有点慢和消耗大

10、lavarel中session设置值出错:session(['get_new_password_u_id',$u_id]);?

数组的方式是用 =>:session(['get_new_password_u_id'=>$u_id]);

二、内容在总结中

 

legend3---17、如何抽象和复用控制器中的方法的更多相关文章

  1. MVC005之页面调用控制器中的方法

    描述:控制器在传给页面数据时,有时我们需要对传过来的数据进行二次处理 如: 1:传过来部门编码,但页面上要显示为部门名称 2:格式转换等 我们在写aspx时一般在cs文件中写一个protected的方 ...

  2. MVC控制器中动作方法返回的结果

    在MVC控制器中主要的返回方式有如下几种: 1.Content(): 返回文本类型的ContentResult,比如“这是我做的一个MVC”. 2.File(): 返回文件类型的内容FileResul ...

  3. CI中控制器名不能和本个 控制器中的方法名相同

    控制器名称:application/controllers/tang.php 控制器中方法名称:application/controllers/role.php  中有方法 public  funct ...

  4. ASP.NET MVC 表单提交多层子级实体集合数据到控制器中

    于遇到了项目中实体类嵌套多层子级实体集合,并且子级实体集合的数据需要提交保存到数据库中的问题.针对此情况需要进行一些特殊的处理才可以将整个 实体类及子级实体集合数据提交表单到控制器中,解决的方法是根据 ...

  5. Web APi之控制器选择Action方法过程(九)

    前言 前面我们叙述了关于控制器创建的详细过程,在前面完成了对控制器的激活之后,就是根据控制器信息来查找匹配的Action方法,这就是本节要讲的内容.当请求过来时首先经过宿主处理管道然后进入Web AP ...

  6. iOS_16_开关控制器_modal_代码方法

    最后效果图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHJlX2VtaW5lbnQ=/font/5a6L5L2T/fontsize/400/fill ...

  7. MVC中动作方法三个特性以及解决同名方法冲突

    一.Http请求谓词特性(解决方法同名冲突问题的一个方案) 关于Http谓词特点:经常使用,如果不加上该特性,默认动作方法接收所有谓词的请求一般开发中都会加上谓词,限定请求谓词类型 二.NonActi ...

  8. MVC 在控制器中获取某个视图动态的HTML代码

    ASP.NET MVC 在控制器中获取某个视图动态的HTML代码   如果我们需要动态的用AJAX从服务器端获取HTML代码,拼接字符串是一种不好的方式,所以我们将HTML代码写在cshtml文件中, ...

  9. asp.net MVC控制器中返回JSON格式的数据时提示下载

    Asp.net mvc在接收的是JSON格式的数据,但是奇怪的是在IE中提示下载文件,其他浏览器中一切正常,下载后,里面的内容就是在控制器中返回的数据.代码如下: 视图中js代码: $("# ...

随机推荐

  1. 修改Linux命令的别名:alias

    修改Linux命令的别名. (一)临时生效:仅限当前窗口 查看所有别名 alias 添加别名 alias ll='ls -lh' 重置别名 alias ll='ls -alh' 删除别名: unali ...

  2. 织梦dede:channelartlist调用排除指定typeid栏目

    在使用 dede:channelartlist 自动调用栏目内容时,经常会遇到某些栏目不需要调用,比如“关于我们”.“联系地址”等无持续更新的栏目.要想在 dede:channelartlist 调用 ...

  3. Oracle基础知识【1】

    目录: 1.Oracle创建库.表 2.Oracle数据怎删查改操作 3.Oracle数据约束条件 Oracle创建库.表: create user user05 identified by 1234 ...

  4. python-----图像去重(imagededup)

    安装库: pip install imagededup 安装可能遇到的问题参考: Cannot uninstall 'wrapt'. It is a distutils installed proje ...

  5. vue + jenkins 自动部署到指定的目录

    1. 首先选择自由风的构建方式 2. 我的源码在gitlab上,在源码管理下,提供仓库URL和凭证,以及gitlab的分支 3. 在构建环境下选择提供Node &npm bin/folder ...

  6. K8S 1.12大特性最快最深度解析:Kubernetes CSI Snapshot(下)

    ​Kubernetes CSI Snapshot(下篇) 目标目前在Kuberentes中,卷插件仅支持配置空的存储卷.随着新的存储功能(包括卷快照和卷克隆)的提出,因此需要支持配置卷时数据填充以.例 ...

  7. Redis4.0之持久化存储

    一,redis概述与实验环境说明 1.1 什么是redis redis是一种内存型的NoSQL数据库,优点是快,常用来做缓存用  redis存储数据的方法是以key-value的形式  value类型 ...

  8. Luogu P1445[Violet]樱花/P4167 [Violet]樱花

    Luogu P1445[Violet]樱花/P4167 [Violet]樱花 真·双倍经验 化简原式: $$\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}$$ $$\frac ...

  9. EXCEL导入数据到SQL SERVER 2008

    项目中需要导入excel到SQL SERVER数据库 总是报截断, 本质问题是,SQL SERVER导入程序是根据EXCEL的第一行记录 (非标题行)来决定数据长度的 碰到这个问题,可以伪造第一行,然 ...

  10. 1127 模型层orm表操作

    目录 昨日回顾 模型层 1.配置测试脚本 1.1 应用下tests文件 1.2 新建任意名称文件 2. 数据的增删改查 2.1 创建数据 2.2 修改数据 2.3 删除数据 2.4查询数据 十三门徒 ...