legend3---17、如何抽象和复用控制器中的方法
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、如何抽象和复用控制器中的方法的更多相关文章
- MVC005之页面调用控制器中的方法
描述:控制器在传给页面数据时,有时我们需要对传过来的数据进行二次处理 如: 1:传过来部门编码,但页面上要显示为部门名称 2:格式转换等 我们在写aspx时一般在cs文件中写一个protected的方 ...
- MVC控制器中动作方法返回的结果
在MVC控制器中主要的返回方式有如下几种: 1.Content(): 返回文本类型的ContentResult,比如“这是我做的一个MVC”. 2.File(): 返回文件类型的内容FileResul ...
- CI中控制器名不能和本个 控制器中的方法名相同
控制器名称:application/controllers/tang.php 控制器中方法名称:application/controllers/role.php 中有方法 public funct ...
- ASP.NET MVC 表单提交多层子级实体集合数据到控制器中
于遇到了项目中实体类嵌套多层子级实体集合,并且子级实体集合的数据需要提交保存到数据库中的问题.针对此情况需要进行一些特殊的处理才可以将整个 实体类及子级实体集合数据提交表单到控制器中,解决的方法是根据 ...
- Web APi之控制器选择Action方法过程(九)
前言 前面我们叙述了关于控制器创建的详细过程,在前面完成了对控制器的激活之后,就是根据控制器信息来查找匹配的Action方法,这就是本节要讲的内容.当请求过来时首先经过宿主处理管道然后进入Web AP ...
- iOS_16_开关控制器_modal_代码方法
最后效果图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHJlX2VtaW5lbnQ=/font/5a6L5L2T/fontsize/400/fill ...
- MVC中动作方法三个特性以及解决同名方法冲突
一.Http请求谓词特性(解决方法同名冲突问题的一个方案) 关于Http谓词特点:经常使用,如果不加上该特性,默认动作方法接收所有谓词的请求一般开发中都会加上谓词,限定请求谓词类型 二.NonActi ...
- MVC 在控制器中获取某个视图动态的HTML代码
ASP.NET MVC 在控制器中获取某个视图动态的HTML代码 如果我们需要动态的用AJAX从服务器端获取HTML代码,拼接字符串是一种不好的方式,所以我们将HTML代码写在cshtml文件中, ...
- asp.net MVC控制器中返回JSON格式的数据时提示下载
Asp.net mvc在接收的是JSON格式的数据,但是奇怪的是在IE中提示下载文件,其他浏览器中一切正常,下载后,里面的内容就是在控制器中返回的数据.代码如下: 视图中js代码: $("# ...
随机推荐
- 如何使用.gitignore文件删除掉已经提交的文件
如何使用.gitignore文件删除掉已经提交的文件 2018.06.06 22:13:38字数 96阅读 116 如果你的文件已经提交,而此时你才发现忘了添加.gitignore文件,不用担心, ...
- 外网Telnet虚拟机,及nat配置等
环境整体是使用GNS3,通过cloud真实连接到虚拟机 cloud1 nginx主机 cloud2 nginx主机https连接 cloud3 Internet测试主机 下面贴每个网络设备配置,特别注 ...
- python编码和解码
一.什么是编码 编码是指信息从一种形式或格式转换为另一种形式或格式的过程. 在计算机中,编码,简而言之,就是将人能够读懂的信息(通常称为明文)转换为计算机能够读懂的信息.众所周知,计算机能够读懂的是高 ...
- C++——Big Three(copy ctor、copy op=、dtor)
Big Three C++ 中Big Three指的是copy ctor 和 copy op= 和 dtor m_data是个字符串指针.一般而言,处理字符串,都是使用指针,在需要存储字符的时候再 ...
- Session&Cookie&localStorage浅谈
Session&Cookie&localStorage 领导让我开发一个有两张信息表单需要提交页面的网站,我作为一名开发人员,这个需求太简单了,和领导说直接存session sessi ...
- Topshelf 使用
前言 在写后台代码的过程中,经常会遇到要写一些单独的服务.以前呢,直接用的是 .NET 下的 “Windows 服务” 控件开发的. 这个传统的控件开发起来很不方面,使用也不友好.发现有用 Topsh ...
- vue中读取excel中数据
安装xlsx npm install xlsx --save-dev 安装好后在需要的页面 引入插件 import xlsx from 'xlsx' 调用 $('#uploadFile').chang ...
- 对比AngularJS/jQueryUI/Extjs:没有一个框架是万能的
AngularJS不能做什么?对比Angular/JSjQueryUI/Extjs 框架就好比兵器,你得明白你手里拿的是屠龙刀还是倚天剑,刀法主要是砍,剑法主要是刺.对于那些职业喷子和脑残粉,小僧送你 ...
- 密码加密与微服务鉴权JWT详细使用
[TOC] 1.1.了解微服务状态 微服务集群中的每个服务,对外提供的都是Rest风格的接口,而Rest风格的一个最重要的规范就是:服务的无状态性. 什么是无状态? 1.服务端不保存任何客户端请求者信 ...
- 【MySQL】explicit_defaults_for_timestamp 参数详解
简介:explicit_defaults_for_timestamp 系统变量决定MySQL服务端对timestamp列中的默认值和NULL值的不同处理方法. 此变量自MySQL 5.6.6 版本引入 ...