//自高自测登录8.10
Route::get('name/login','nameLoginController@login');
Route::post('/name/logins','nameLoginController@namelogin');/logins','nameLoginController@namelogin');
表单页面
<!doctype html>
<html lang="en">
<head>
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>user登录</title>
<link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
</head>
<body> <form action="/user/login/success" method="post" style="width: 300px">
@csrf
<div class="form-group">
<label for="name">用户名</label>
<input type="text" class="form-control" id="username" name="user_name" placeholder="请输入账号">
<p style="color: red" class="usernametips"></p>
</div>
<div class="form-group">
<label for="name">密码</label>
<input type="password" class="form-control userpassword" name="user_password" placeholder="请输入密码">
<p style="color: red" class="userpasswordtips"></p>
</div>
<button type="submit" class="btn btn-default" onclick="login()">立即登录</button>
</form>
</body>
</html>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
// 密码验证非空
$('.userpassword').blur(function () {
var userpassword = $('.userpassword').val();
if (userpassword == '') {
$('.userpasswordtips').html('密码不可以为空')
return false
} else {
$('.userpasswordtips').html('')
return true
}
})
//用户名验证非空
$('#username').blur(function () {
var username = $('#username').val();
if (username == '') {
$('.usernametips').html('用户名不可以为空')
return false
} else {
$('.usernametips').html('')
return true
}
}) function login() {
var username = $('#username').val();
var userpassword = $('.userpassword').val(); $.ajax({
url: '/user/login/success',
type: 'post',
dataType: 'json',
data: {
'_token':'{{csrf_token()}}',
username: username,
userpassword: userpassword,
},
success:function(e){
console.log(e);
if (e==200){
alert('登录成功');
}else {
alert('登录失败');
} }
})
}
</script>
控制器页面
<?php namespace App\Http\Controllers; use App\models\nameLogin;
use Illuminate\Http\Request;
use Illuminate\Foundation\Auth\User;
class nameLoginController extends Controller
{
//
public function login()
{
return view('login.loginname');
} public function namelogin(Request $request)
{
$params = $request->except('_token');
$this->validate($request,[
'name'=>'required',
'password'=>'required|regex:/^\d\w{4,32}$/'
],[
'name.required'=>'账号不可以为空',
'password.required'=>'密码不可以为空',
'password.regex'=>'密码为6-10为字母及数字'
],$params);
$data['name']=$params['name'];
$data['password']=$params['password'];
//
$result=nameLogin::testlogin($data); if ($result){
$arr['status']=200;
$arr['info']='登录成功';
$arr['data']=$result;
return json_encode($arr);
}else{
$arr['status']=500;
$arr['info']='登录失败';
$arr['data']=$result;
return json_encode($arr); } }
}
模型页面
<?php namespace App\models; use Illuminate\Database\Eloquent\Model; class nameLogin extends Model
{
//
protected $table='testlogin';
public $primaryKey='id';
public $timestamps=false;
public static function testlogin($data){
return self::where($data)->first();
}
}

larav jq ajax 登录的更多相关文章

  1. 巨蟒python全栈开发django10:ajax&&登录认证

    通过题目进行知识点回顾: 聚合查询 From django.db.models import Avg,Min,Max,F,Q,Count,Sum #查询书籍的平均值 Ret= Models.Book. ...

  2. 原生Ajax 和Jq Ajax

    前言:这次介绍的是利用ajax与后台进行数据交换的小例子,所以demo必须通过服务器来打开.服务器环境非常好搭建,从网上下载wamp或xampp,一步步安装就ok,然后再把写好的页面放在服务器中指定的 ...

  3. ajax登录验证-js

    1.html代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  4. python 全栈开发,Day87(ajax登录示例,CSRF跨站请求伪造,Django的中间件,自定义分页)

    一.ajax登录示例 新建项目login_ajax 修改urls.py,增加路径 from app01 import views urlpatterns = [ path('admin/', admi ...

  5. Ajax登录用户名密码

    <script src="http://code.jquery.com/jquery-latest.js"></script>#引入jQuery#当点击函数 ...

  6. Django Ajax登录 防止CSRF

    什么是CSRF 维基百科: 跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CS ...

  7. Django 博客项目01 数据库设计与验证码校验+Ajax登录

    数据库设计 from django.db import models from django.contrib.auth.models import AbstractUser class UserInf ...

  8. 知问前端——Ajax登录

    本文,将使用Ajax登录. 一.服务器端代码 is_user.php: <?php require 'config.php'; $query = mysql_query("SELECT ...

  9. 转:ajax的AntiForgery和Authorize 以及ajax登录例子

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/ashcn2001/article/det ...

随机推荐

  1. new Date时间格式转换方法

    平时经常会使用到时间转换,组件库已经有很多组件可以自动生成时间类型了,但是底层的封装方法还是得有 获取当前时间 new Date()  或者自己拥有一个毫秒时间 方法如下 /** * title: 时 ...

  2. (DDS)正弦波形发生器——幅值、频率、相位可调(一)

    (DDS)正弦波形发生器--幅值.频率.相位可调 一.项目任务: 设计一个幅值.频率.相位均可调的正弦波发生器. 频率每次增加1kHz. 相位每次增加 2*PI/256 幅值每次增加两倍 二.文章内容 ...

  3. JDK8 的 Lambda、Stream、LocalDate

    前言 本篇主要讲述是Java中JDK1.8的一些新语法特性使用,主要是Lambda.Stream和LocalDate日期的一些使用讲解. 作者:虚无境 来源:cnblogs.com/xuwujing/ ...

  4. JDBC 操作预编译语句中LIKE模糊匹配怎么用

    问题描述 在使用JDBC 预编译执行语句时,遇到一个问题,那就是在含有LIKE的查询语句时,我到底怎么使用匹配符%._呢. 如: SELECT * FROM "+LQ_USERS+" ...

  5. getter/setter方法

    1.setter方法 作用:用来设置成员变量,可以在方法里面过滤掉一些不合理的值 命名规范: 必须是对象方法 返回值类型为void 方法名必须以set开头,而且后面跟上成员变量名去掉"_&q ...

  6. Content-Type: multipart/form-data;文件上传利用

    当我们找到一个文件上传接口时,发现他的MIME类型检测为Content-Type: multipart/form-data;时,我们就可以尝试下面几种方法来绕过限制. ---------------- ...

  7. Solution -「多校联训」博弈

    \(\mathcal{Description}\)   Link.   A B 两人在树上博弈,初始时有一枚棋子在结点 \(1\).由 A 先操作,两人轮流移动沿树上路径棋子,且满足本次移动的树上距离 ...

  8. c++ istream_iterator ostream_iterator

    istream_iterator/ostream_iterator void stream_iter_odd_even(const string &in_file, const string ...

  9. 云原生 PostgreSQL - CrunchyData PGO 教程:创建、连接、删除 Postgres 集群

    入门 作为安装的一部分,请确保您已完成以下操作: 分叉 Postgres Operator 示例存储库并将其克隆到您的主机. https://github.com/CrunchyData/postgr ...

  10. kali安装python2、python3以及对应的pip

    kali自带python2,python3python --version #查看python版本安装pipwget https://bootstrap.pypa.io/pip/2.7/get-pip ...