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. JavaScript中进制和字符编码问题

    1.进制: JavaScript中允许使用字面量的形式声明不同进制的数字: var a = 0b10; // 2 声明一个二进制 var b = 010; // 8 八进制,严格模式下会报错 var ...

  2. sed 删除文本中的内容

    删除命令对照表 练习例子 删除/etc/passwd中的第15行 sed -i '1d' passwd 删除/etc/passwd中的8行到14行的所有内容 sed -i '8,14d' passwd ...

  3. [Jenkins][GitHub]2 持续集成环境初探

    预计阅读时间:30分钟 部署环境:Jenkins ver. 2.61 + Centos7 + Java 1.8 参考链接: http://www.jianshu.com/p/22b7860b4e81 ...

  4. 如何使用Feign构造多参数的请求

    原文:http://www.itmuch.com/spring-cloud-sum/feign-multiple-params/ 本节来探讨如何使用Feign构造多参数的请求.笔者以GET及POST请 ...

  5. 26.C# 文件系统

    1.流的含义 流是一系列具有方向性的字节序列,比如水管中的水流,只不过现在管道中装的不是水,而是字节序列.当流是用于向外部目标比如磁盘输出数据时称为输出流,当流是用于把数据从外部目标读入程序称为输入流 ...

  6. VSCode - Beautify 插件配置

    1. 在工作目录下建立.jsbeautifyrc文件 官方文档 { "brace_style": "none,preserve-inline", "i ...

  7. LeetCode刷题分类-解题模式

    模式1:如果是已经排好序的序列(数组,链表,或是矩阵),我们就可以用二分的变种或是双指针策略 模式2: 如果我们需要处理n个元素中:顶部/最大/最小/最接近的k个元素时,我们就可以用堆来解决了. 模式 ...

  8. linux中的set ff=unix

    set ff=unix : 告诉 vi 编辑器,使用unix换行符. 操作步骤: 1.用vi命令打开文件 2.直接输入 :set ff=unix

  9. ORA-00600[2662]问题 汇总

    一.ORA-00600[2662]问题模拟及解决方法 这是2013年的一篇文章,也不知道数据库是什么版本, 我的数据库时11.2.0.4,使用下面方法模拟的时候,模拟不出来....   参照eygle ...

  10. java上传文件夹文件

    这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了: 上传文件实体类: 看得 ...