寒假答辩之基于ssm框架的家教网站之前端篇

前言:这是我第一次参与做一个完整的网站,真的和自己做的静态页面的感觉太不一样啦。自己做不用管数据的交互时想做成什么样就做成什么样,但是连接后台就需要考虑数据的传递,数据的格式,怎么截取到自己要的数据,怎么把数据渲染到页面。什么时候显示什么模块等等之类的要考虑好多东西。我这里只讲最简单的应用,具体那些复杂的应用等你们用到了就知道多麻烦了。

注意:这篇博客只讲了我在写这个项目时遇到的难做的部分,没有具体的网站介绍,最基本一个网站该有的东西并没有介绍

1.数据交互之ajax

看代码,有注释,一看就懂,会不会用看自己。

function submitmessage(btn,turl) {
    var datasubmit=$(this).parent().next().children().html();//获取传给后台的数据
    var result=""//准备接受后台传来的数据
    $.ajax({
        type: "POST",
        url: turl,
        data: datasubmit,//给后台传数据
        success: function (data) {//后台传过来数据都在data里面
            var arrLen = data.length;
	    if (arrLen > 0) {
		for (var i = 0; i < arrLen; i++) {//开始拆分数据,做要渲染的数据,其中data[i].iid的意思是data中第几条数据的名为lid的数据项
		        result += '<tr class="' + type + '">' +
		        '<td class="order-num-con">' + data[i].iid + '</td>' +
			'<td class="subject-con">' + data[i].course + '</td>' +
			'<td class="grade-con">' + data[i].eduId + '</td>' +
			'<td class="finish-time-con">' + data[i].signTime + '</td>' +
			'<td class="handle-con">' + '<a href="#">投诉</a>' + '</td>' +
			'</tr>';
		}
            }else{alert('无数据!');}
           },
           error: function (xhr, type) {//ajax过程出错,显示提示信息
			alert('Ajax error!');
					
		}
    });
    $('.lists').append(result);//将做好渲染的数据添加到自己的页面
}

ajax交互的原理很简单,但想要很好的运用就要考虑到js逻辑,怎么能很好的获取到页面的每个元素,怎么去拆分数据都是一个繁琐的过程,这是你的前端代码一定要写的规范简洁并且有规律,有规律很重要,否则js渲染和获取元素就会很麻烦。这次的项目我就写的不好,元素很多都是一个个获取,代码也很长,处理起来很麻烦。


2.bootstrap的应用

之前周任务只学了一点点网格运用和一些按钮,导航栏,表单之类的。当时并没有感觉到它的强大,感觉自己都可以写,就没有多重视。这次项目徐雅琪真的让我认识到bootstrap的强大这里只举两个例子感受一下。

(1)模态框的使用

你想想就这个模态框你自己写要写多少代码,而且你写的好用不好用都不知道,而用bootstrap就很简单

<a href="#" data-toggle="modal" data-target="#exampleModal1">修改信息</a>
<div class="modal fade" id="exampleModal1" tabindex="-1" role="dialog" >
	<div class="modal-dialog" role="document">
	     <div class="modal-content">//里面写你任何想写的内容
		<div class="modal-body"></div>
                <div class="modal-footer">
	             <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
	        </div>
	</div>
             
</div>

 

这行<a href="#" data-toggle="modal" data-target="#exampleModal1">修改信息</a>里面的
data-toggle="modal"//设置打开是一个模态窗

data-target="#exampleModal1"//设置打开的目标模态窗

<div class="modal fade" id="exampleModal1" tabindex="-1" role="dialog" >//id一定要照应,class要写对
    <div class="modal-dialog" role="document">//class要写对,role自己看文档都有什么
    </div>
 </div>

data-dismiss="modal"关闭模态窗

(2)面板的使用

  点击订单详情与支付详情分别切换面板

           

想想自己要写多少代码,看看bootstrap怎么用

<tr class="double">
	<td class="order-con">
		<a role="button" data-toggle="collapse" href="#collapseExample1" aria-expanded="false" aria-controls="collapseExample1">
			订单详情
		</a>
	</td>
</tr>
<tr>
        <td class="col">
		<div class="collapse text-left" id="collapseExample1">
		</div>
	</td>
</tr>

 <a role="button" data-toggle="collapse" href="#collapseExample1" aria-expanded="false" aria-controls="collapseExample1">
     data-toggle="collapse"//目标是collapse

     href="#collapseExample1"//打开的是id为collapseExample1的面板

     aria-controls="collapseExample1"//自行百度,大概是控制面板间的联系

 <div class="collapse text-left" id="collapseExample1"></div>//与上边对应名字,然后里面写自己的东西

bootstrap真的特别强大,强烈建议没事儿就去bootstrap的中文官网转转,你会发现好多东西,网站就不会那么难写了


3.定位

我们采用的是自己选择然后筛选,没有真正的获取地理位置,关于城市的信息我们用的多维数组处理起来也是很麻烦

因为城市真的太多了,一不小心就出错了


4.分页

原来根本没有考虑过分页问题,是寒假现学的,理解的也不是很深刻

    

分页也是要运用ajax交互数据

url = 'https://cnodejs.org/api/v1/topics?limit=10&page=';其中limit是限制limit是限制每页条数,page是限制第几页

myPagination是分页的具体操作,里面逻辑特别长这里就不讲了,大概就是每次点击换页数据的变动,实现起来有点复杂


5.上传照片

首先说几个东西

$('xx')是jQuery对象,$('xx')[0]是将jQuery对象:$('xx')转换为JavaScript对象,这样才可以使用JavaScript对象的属性和方法;
<input type="file">可能会添加multiple属性并赋值:multiple="multiple",即<input type="file" multiple="multiple">,这样一次性可同时上传多张图片,所以获得一张图片的方法就是:$('xx')[0].files[0]
$('xx')[0].files[0].size可获得文件的大小,单位是字节(B),使用$('xx')[0].files[0].size可用于判断文件的大小。

var localimg = $("#fileimg").get(0).files[0];

var fileName = localimg.name;
var fileSize = localimg.size;

var fileType = fileName.substring(fileName.lastIndexOf('.'), fileName.length).toLowerCase();

关于FormData()与Blob()不懂得看下面链接

https://blog.csdn.net/qq_42842709/article/details/82500029

https://blog.csdn.net/zqian1994/article/details/79635413

大概思路得到图片转为DataUrl地址再转为Blob对象再存在FormData里面传给后台

图片的裁剪是用的Canvas,Canvas应用这里就不说了,自行学习

上传图片一般是Canvas+FormData作为标配方案,想学的可以深入了解


6.总结

第一次真的有许多地方不会一边借鉴一边学习,自己真的很多地方都不会,很多功能自己都写不出来,js的一些深入用法自己都不会,所以只会写一些简单的功能,大家一定要多去看看别人的网站,去那里学习自己不会的才能成长。而且我只学了一点点后台,jsp也只学了一点点,现在也忘光了,做前端最好会改jsp这样和后台连起来就会变容易,直到要改那些东西,那些东西写一遍就行,那些数据不用获取等等。这次都是陈想在改,这里对陈想表示我的深深的敬意。

 

原文地址:https://blog.csdn.net/qq_41767383/article/details/89500482

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


前端工程师一般用的是Bootstrap的框架而不是样式,样式一般自己重新定义class类即可,主要样式要随具体情况而定包括位置任何带有class.btn的元素都会继承圆角灰色按钮的默认外观。但是Bootstrap提供了一些选项来定义按钮的样式。<buttontype="button"class="btn">基本
起步导入:<linkrel="stylesheet"href="bootstrap-3.3.7-dist/css/bootstrap.css"><scriptsrc="js/jquery-3.3.1.js"></script><scriptsrc="bootstrap-3.3.7-dist/js/bootstrap.js"></script>屏幕
(1)modal声明一个模态框(2)modal-dialog定义模态框尺寸(3)modal-lg定义大尺寸模态框(4)modal-sm定义小尺寸模态框(5)modal-header(6)modal-body(7)modal-footer<!doctypehtml><html><head><metacharset="utf-8"><title>模态框<itle><linkrel=&quo
图片在Bootstrap版本3中,通过为图片添加 .img-responsive 类可以让图片支持响应式布局。其实质是为图片设置了 max-width:100%;、 height:auto; 和 display:block; 属性,从而让图片在其父元素中更好的缩放。如果需要让使用了 .img-responsive 类的图片水平居
<inputtype="text"class="form-controldatepicker"style="padding:0.375rem0.75rem;"placeholder="开始时间"readonly="true" id="start_time"name="start_time"> $(".datepicke
目录bootstrap-treeview使用小记零、写在前面的话一、功能说明二、特性简述三、实战3.1依赖环境3.2数据源格式3.3Options选项3.4Methods方法3.5Events事件N-2、番外N-1、本文demoN、参考资料bootstrap-treeview使用小记零、写在前面的话p.s.bootst
  一、应用http://www.bootcss.com/进入bootstrap4或bootstrap3中文网,想要快速地将Bootstrap应用到你的项目中,有以下两种办法: 1、bootstrap可以在线引用,方法如下:A、CSS将引入Bootstrap样式表的 <link> 标签复制并粘贴到 <head> 中,并放在所有其他样式表之前。<!
第87节:Java中的Bootstrap基础与SQL入门前言复习什么是JQ?:writelessdomore写更少的代码,做更多的事找出所有兄弟:$("div").siblings()基本过滤器:选择器:过滤器$("div:first"):first:找到第一个元素:last:找到最后一个元素:even:找出偶数索引:odd:找出奇叔索引
1.bootstrap表单(1)form声明一个表单域(2)form-inline内联表单域(3)form-horizontal水平排列表单域(4)form-group表单组、包括表单文字和表单控件(5)form-control文本输入框、下拉列表控件样式(6)checkboxcheck-inline多选框样式(7)radioradio-inline单选框样式(8)input-group表单控件组
<!DOCTYPEhtml><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>首页<itle><
嗯。。。以前做ssh。应该是stratusspringhibernate。 然后现在来了一个新的需求。 要用java,bootstrap,oracle,springboot,jquery,mybatis。 开始,我也挺心虚的,但是后来一看,,,其实本没有必要这么虚。。。毕竟。。。这些东西,写的有问题。。。问题在于没有逻辑。 bootstrap,j
表格基本实例为任意 <table> 标签添加 .table 类可以为其赋予基本的样式—少量的内补(padding)和水平方向的分隔线。这种方式看起来很多余!?但是我们觉得,表格元素使用的很广泛,如果我们为其赋予默认样式可能会影响例如日历和日期选择之类的插件,所以我们选择将此样式独立出来。
1、问题背景   一般情况下,查询列表有查询条件、查询按钮和重置按钮,输入查询条件,点击查询按钮查询列表等数据;点击重置按钮会将查询条件恢复到原始状态 2、实现源码 <!DOCTYPEhtml><html> <head> <metacharset="UTF-8"> <title>Bootstrap-查询按钮和重置按钮<
Bootstrap简介什么是Bootstrap?Bootstrap官网框架:库liblibraryjQuery作为一个框架来讲,提供一套比较便捷的操作DOM的方式把大家都需要的功能预先写好到一些文件这就是一个框架Bootstrap让我们的Web开发更简单,更快捷;注意是Bootstrap不是BootStrap!这是一个词,不是
1.bootstrap图片img-responsive声明响应式图片2.bootstrap字体图标通过字体代替图标,font文件夹需要和css文件夹在同一目录3.bootst导航条(1)navbar声明导航条(2)navbar-default声明默认的导航条样式(3)navbar-inverse声明反白的导航条样式(4)navbar-static-top去掉导航条的圆角(5)n
1.路径导航<!doctypehtml><html><head><metacharset="utf-8"><title>路径导航<itle><linkrel="stylesheet"type="text/css"href="css/bootstrap.min.css"><scripttype="text/ja
问题描述:最近在学习BootStrap,过程中遇到引用glyphicon图标无法显示的问题,经过在百度后该问题已解决。1、首先看一下图标显示失败的页面:2、经过参考大佬们的经验,我找到了解决办法。首先我的BootStrap的css样式表是经过下载之后直接拷贝了其中一个文件到编译器中使用的,没有把所有
BootStrap布局一、BootStrap布局CSS组件主要包括栅格系统、列表组、进度条、icon图标、导航栏等组件。JavaScript插件主要有动画效果、窗体模式、下拉菜单、选项卡等二、网格系统Bootstrap内置了一套响应式、移动优先的流式栅格系统,随着屏幕设备或可视窗口(viewport)尺寸的
1引入所需要的文件2用法
想让bootstrap的table列内容超出部分省略号,要在table上加table-layout:fixed和word-break:break-all,然后在头部thead的th加上宽度百分比,最后在列里加个标签如span,在这个span加上单行超出部分省略号的css:display:inline-block,overflow:hidden,white-space:nowrap,text-overflow:e