ThinkPHP5框架在写项目过程中遇到的相关问题,以及前端问题

1、获取器不起作用

      当你数据库表中的字段为is_display样式的时候,需要使用驼峰命名法。public  function   getIsDisplayArrt($value){

},当你使用getIs_displayArrt就会失效。


2、解决JS在alert之后window.location.href跳转无法正常执行

     今天我就在这个上面遇到了坑,找了半天原因。后来在前端群里问了,他们回答我说把alert注释掉就可以了,我很郁闷为啥先执行alert之后window.location.herf就无法执行。因为有时候需要弹框说明添加成功。

<script type="text/javascript">
		$("#form").submit(function(){

			var uname=$("#username").val();
			 
			var formData = $("#form").serialize();//serialize() 方法通过序列化表单值,创建 URL 编码文本
			$.ajax({
				type:'post',
				url:"{:url('/admin/admin/addadmin')}",
				data:formData,
				dataType:'json',
				success:function(data){
					alert(data.msg);
					if(data.status==1){
						window.location.href="index";
						
					}else{
						window.location.href="addadmin";
					}
					
					
				},
				error:function(msg){
					
					alert('系统错误,请联系管理员!');
					
				}
			})
		});
	</script>

以上是我之前代码,这个时候需要弹框,那么我们就要可以将alert转到后面去

<script type="text/javascript">
		$("#form").submit(function(){

			var uname=$("#username").val();
			 
			var formData = $("#form").serialize(); //serialize() 方法通过序列化表单值,创建 URL 编码文本
			$.ajax({
				type:'post',
				url:"{:url('/admin/admin/addadmin')}",
				data:formData,
				dataType:'json',
				success:function(data){
					if(data.status==1){
						window.location.href="index";
						
					}else{
						window.location.href="addadmin";
					}
					alert(data.msg);
					
				},
				error:function(msg){
					
					alert('系统错误,请联系管理员!');
					
				}
			})
		});
	</script>

3、有时候你在想如何将如下图所示

那么如何将下图中圈出来的提取出来呢,存到数据库呢?

扫描二维码关注公众号,回复: 11093049 查看本文章

那你是否会想到用正则表达式来提取呢,是的,可以用正则表达式来提取。并且存入数据库

    $path='E:\phpStudy\PHPTutorial\WWW\tp5rbac\public\Kharna_Admin\icons-simpleline.html';    
    //$path只是文件所在的位置
    $str = file_get_contents($path);

	$reg1='/data-toggle=\"tooltip\" title=\"(.*?)\".*?>(.*?)<\/li>/i';//匹配所有li相关标签

		preg_match_all($reg1,$str,$aarray);
//$aarray所获取的内容很多,有三个数组,所以根据需求选择你想要的数据
		// print_r($aarray[1]);
		$arr=[];
//将数组重新组装
		foreach ($aarray[1] as $key => $value) {
			$arr[]=[
				'name'=>$value,
				'create_time'=>time(),
			];
			// echo $value;
		}
//插入数据库存储
		$icon=new Icon();
		$res=$icon->saveAll($arr);

所以这里总结一句话,当你需要从页面中提取相关的数据的时候,并且数据量很大,那么我们需要用正则等方法提取,不能使用死方法来做,一个个手工输入实在是太慢了,太浪费时间。


这样就可以解决这个问题。
后续我将继续更新自己在开发过程中遇到的问题

发布了20 篇原创文章 · 获赞 21 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/jachinFang/article/details/97234036