laravel基础课程---12、lavarel的ajax操作2(lavarel的ajax使用总结)

一、总结

一句话总结:

比较简单:就是js请求ajax,然后控制器获取请求参数,返回数据即可

1、laravel修改某个板块修改图片中 form的目标地址action如何写?

路径带参数+路由参数:form action="/admin/pic/{{$data->id}}":这样传过来的路由参数(比如id)在控制器中用一个变量接收就好

2、lavarel查看页面提交的所有数据?

Request对象的all()方法

3、比如修改某个板块操作需要做成无刷修改么?

不需要,直接跳回列表页面即可

4、修改板块(板块中带图片)操作需要注意的是什么?

删除原图操作:原图和新图是否一样,不一样就删除原图

5、无刷新分页的实现思路及原理?

数据库实现原理:分页的原理 limit
思路一:vue双向绑定+ajax(推荐):
思路二:控制器直接返回分页页面数据
1、分页的原理 limit
1 0,3
2 3,3
3 6,3

6、最基本 的分页实现思路?

控制器:确定分页和页数和每页显示的数据
视图:ajax请求分页 + 遍历输出分页图标
控制器返回的数据:分页视图要显示的数据 :和我项目中的一样
<!-- 分页效果 -->
<div class="panel-footer">
<nav style="text-align:center;">
<ul class="pagination">
@for($i=1;$i<=$page;$i++) <li><a href="javascript:;" onclick="page1(this,{{$i}})">{{$i}}</a></li>
@endfor
</ul>
</nav> </div>
// 无刷新的分页

function page(obj,page){

    // 发送ajax请求
var str='<tr><th><input type="checkbox" name="" id=""></th><th>ID</th><th>TITLE</th><th>SORT</th><th>IMG</th><th>操作</th></tr>';
$.get('/admin/pic',{'page':page},function(data){
// 处理数据 for(var i=0;i<data.length;i++){ str+='<tr id="tr'+data[i].id+'">';
str+='<td><input type="checkbox" value="'+data[i].id+'" name="" class="inputs" id=""></td>';
str+='<td>'+data[i].id+'</td>'
str+='<td>'+data[i].title+'</td>'
str+='<td><input type="text" onchange="change(this,'+data[i].id+'" value="'+data[i].sort+'" name="" id=""></td>'
str+='<td><img width="200px" src="/Uploads/Goods/'+data[i].img+'" alt=""></td>'
str+='<td><a href="/admin/pic/'+data[i].id+'/edit" class="glyphicon glyphicon-pencil"></a>&nbsp;&nbsp;&nbsp;<a href="javascript:;" onclick="del(this,'+data[i].id+')" class="glyphicon glyphicon-trash"></a></td>';
str+='</tr>';
} // 写入到表格中 $("#table").html(str);
});
}
控制器

// 后台商品管理首页方法

public function index(){

    // 计算数据的总条数

    $tot=\DB::table("pic")->count();

    // 每页展示几条数据
$length=3; // 计算总页数 $page=ceil($tot/$length); // 判断地址栏参数是否存在 if (isset($_GET['page'])) {
// 计算分页 $offset=($_GET['page']-1)*$length; // 进行数据库查询
$data=\DB::select("select * from pic order by sort asc limit $offset,$length");
// 返回JSON
// return $data; // 返回页面
return view('admin.pic.page')->with('data',$data); } // 从数据库中读取相关数据 $data=\DB::select("select * from pic order by sort asc limit 0,$length"); // dd($data); // 加载用户管理页面
return view('admin.pic.index')->with('data',$data)->with('page',$page);
}

7、做无刷新分页的时候,如果不用vue双向绑定,直接用php来实现,那么更新分页数据会需要非常麻烦复杂的在js中的拼接 html代码,如何解决?

新弄了一个page页面:直接在控制器中返回这个页面:这样不用拼接复杂的html代码
直接在控制器中返回一个page页面:在页面中 刷新page数据(是一个page页面):return view('admin.pic.index')->with('data',$data)->with('page',$page);
控制器

// 后台商品管理首页方法

public function index(){

    // 计算数据的总条数

    $tot=\DB::table("pic")->count();

    // 每页展示几条数据
$length=3; // 计算总页数 $page=ceil($tot/$length); // 判断地址栏参数是否存在 if (isset($_GET['page'])) {
// 计算分页 $offset=($_GET['page']-1)*$length; // 进行数据库查询
$data=\DB::select("select * from pic order by sort asc limit $offset,$length");
// 返回JSON
// return $data; // 返回页面
return view('admin.pic.page')->with('data',$data); } // 从数据库中读取相关数据 $data=\DB::select("select * from pic order by sort asc limit 0,$length"); // dd($data); // 加载用户管理页面
return view('admin.pic.index')->with('data',$data)->with('page',$page);
}
function page1(obj,page){

    // 发送ajax请求

    $.get('/admin/pic',{'page':page},function(data1){
// 处理数据 alert($("#main").html());
$("#main").html(data1); });
}
page.blade.php

<th><input type="checkbox" name="" id=""></th>
<th>ID</th>
<th>TITLE</th>
<th>SORT</th>
<th>IMG</th>
<th>操作</th> @foreach($data as $value)
<tr id="tr{{$value->id}}">
<td><input type="checkbox" value="{{$value->id}}" name="" class="inputs" id=""></td>
<td>{{$value->id}}</td>
<td>{{$value->title}}</td>
<td><input type="text" onchange="change(this,{{$value->id}})" value="{{$value->sort}}" name="" id=""></td>
<td><img width="200px" src="/Uploads/Goods/{{$value->img}}" alt=""></td>
<td><a href="/admin/pic/{{$value->id}}/edit" class="glyphicon glyphicon-pencil"></a>&nbsp;&nbsp;&nbsp;<a href="javascript:;" onclick="del(this,{{$value->id}})" class="glyphicon glyphicon-trash"></a></td>
</tr> @endforeach

二、内容在总结中

 

laravel基础课程---12、lavarel的ajax操作2(lavarel的ajax使用总结)的更多相关文章

  1. laravel基础课程---13、数据库基本操作2(lavarel数据库操作和tp对比)

    laravel基础课程---13.数据库基本操作2(lavarel数据库操作和tp对比) 一.总结 一句话总结: 非常非常接近:也是分为两大类,原生SQL 和 数据库链式操作 学习方法:使用时 多看手 ...

  2. laravel基础课程---14、表单验证(lavarel如何进行表单验证)

    laravel基础课程---14.表单验证(lavarel如何进行表单验证) 一.总结 一句话总结: lavarel的验证的功能比tp要[简单]且[强大]很多 直接控制器中:添加[规则数组]和[修改提 ...

  3. laravel基础课程---15、分页及验证码(lavarel分页效果如何实现)

    laravel基础课程---15.分页及验证码(lavarel分页效果如何实现) 一.总结 一句话总结: 数据库的paginate方法:$data=\DB::table("user" ...

  4. laravel基础课程---11、lavarel的ajax操作(ajax优劣势是什么)

    laravel基础课程---11.lavarel的ajax操作(ajax优劣势是什么) 一.总结 一句话总结: 优势:用户友好度:异步通信,不会频繁刷新页面,用户友好度比较高 优势:减轻数据库压力 缺 ...

  5. laravel基础课程---9、视图(lavarel的模板语法和tp相比怎样)

    laravel基础课程---9.视图(lavarel的模板语法和tp相比怎样) 一.总结 一句话总结: lavarel的模板语法比thinkphp好用很多:和html代码配合的更好 lavarel比t ...

  6. laravel基础课程---10、数据库基本操作(如何使用数据库)

    laravel基础课程---10.数据库基本操作(如何使用数据库) 一.总结 一句话总结: 1.链接数据库:.env环境配置里面 2.执行数据库操作:DB::table('users')->up ...

  7. laravel基础课程---8、laravel响应和视图(响应是什么)

    laravel基础课程---8.laravel响应和视图(响应是什么) 一.总结 一句话总结: 就是向请求返回的响应数据(一般为html(视图),当然也可以是变量值):所有的路由及控制器必须返回某个类 ...

  8. laravel基础课程---16、数据迁移(数据库迁移是什么)

    laravel基础课程---16.数据迁移(数据库迁移是什么) 一.总结 一句话总结: 是什么:数据库迁移就像是[数据库的版本控制],可以让你的团队轻松修改并共享应用程序的数据库结构. 使用场景:解决 ...

  9. laravel基础课程---7、文件处理、闪存、cookie(cookie原理和使用场景)

    laravel基础课程---7.文件处理.闪存.cookie(cookie原理和使用场景) 一.总结 一句话总结: 页面请求服务器的时候是把这个页面中所有的cookie都带上了的,cookie里面也存 ...

随机推荐

  1. hibernate 数据缓存

    http://www.cnblogs.com/wean/archive/2012/05/16/2502724.html,

  2. 自制小工具大大加速MySQL SQL语句优化(附源码)

    引言 优化SQL,是DBA常见的工作之一.如何高效.快速地优化一条语句,是每个DBA经常要面对的一个问题.在日常的优化工作中,我发现有很多操作是在优化过程中必不可少的步骤.然而这些步骤重复性的执行,又 ...

  3. 一张图帮你看懂 iPhone 6 Plus 的屏幕分辨率

    一张图帮你看懂 iPhone 6 Plus 的屏幕分辨率 几天前公布的 iPhone 6 Plus 官方标称屏幕是 1920 x 1080 的,可是在 Xcode 中我们发现模拟器的屏幕事实上是看似奇 ...

  4. 使用Erlang和Thrift,与Hbase通信(转)

    操作系统是Ubuntu Server 12.10 先安装Thrift sudo apt-get install libboost-dev libboost-test-dev \ libboost-pr ...

  5. 【Caffe】源码解析----caffe.proto (转载)

    分析caffe源码,看首先看caffe.proto,是明智的选择.好吧,我不是创造者,只是搬运工. 原文地址:http://blog.csdn.net/qq_16055159/article/deta ...

  6. diy文件系统上创建文件的流程

    [0]README 0.1) source code are from orange's implemention of a os , and for complete code , please v ...

  7. 三分钟教你学Git(十二) 之 fast-forward

    什么是fast forward, 顾名思义,就是高速向前进,Git怎么做到高速的呢? 原来假设Git判定能够fast forward的时候,直接改动当前HEAD指针的指向然后再改动当前HEAD指针.说 ...

  8. OOP版电子词典

    输入代码: /* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名:sum123.cpp * 作 者:林海云 * 完毕日期:20 ...

  9. 转载 ---资深HR告诉你:我如何筛选简历与选择人员的

    资深HR告诉你:我如何筛选简历与选择人员的   有个公司HR看简历 先直接丢掉一半 理由是不要运气不好的应聘者. 当然这可能只是某些HR面对太多的简历产生了偷懒的情绪,但是不论是Manager,亦或是 ...

  10. linux程序设计——网络信息(第十五章)

    15.3    网络信息 当眼下为止,客户和server程序一直是吧地址和port号编译到它们自己的内部. 对于一个更通用的server和客户程序来说.能够通过网络信息函数来决定应该使用的地址和por ...