html 开发中遇到的问题,ajax异步传输,layui模板引擎并重新渲染

绑定点击事件

<input id ="button" type="button" value="搜搜" />
$("#button").click(function () {
			//#button 是点击按钮的id
			//执行自己需要的操作;	
    });  

jquery中的$("#id")与document.getElementById(“id”)的区别,请看以下链接

https://www.cnblogs.com/theWayToAce/p/5591221.html

绑定enter事件

<input id ="inputid" type="text" value=""  placeholder="请输入内容" />
$(function(){ 
	$('#inputid').bind(
			'keypress',function(event){
			if(event.keyCode == "13") { 
				//执行对应的操作
			} 
		});
	}); 

html A页面跳转到B页面,并传参、取值

在A页面在需要跳转的方法、操作写如下

window.location.href = 'B.html?value=123';

在B对应的地方取值:1

var value = $.query.get("value");//需要 jquery.params.js 包,下载地址可自行百度,或者随后上传

取值:2

https://blog.csdn.net/qq_41485414/article/details/79577879

layui模板引擎,渲染样式

//布局
<div id="div1">
<script id="sc1" type="text/html">
		//渲染时值对应的位置,在对应的位置取值
			<div>
				{{#  layui.each(d.List, function(index, item){ }}
					{{item.key}}
				{{#  }); }}
			</div>		
</script>
</div>
//渲染代码
//data  是需要渲染的数据
layui.laytpl($("sc1").html()).render(data, function(html){
		$("#div1").html(html)
	});

渲染的方法,写在了页面加载时就运行的地方,当打开页面或者刷新的时候机会去导入的data参数读取内容,进行遍历等操作,以及渲染样式。

Ajax 异步传输数据,动态更新内容
var url ="###";
$.ajax({
        url: url,
        data:{
        	"A":'A',
        	"B":'b',
        	"c":'c'
        	},
        type: "POST",
        dataType: "json",
        success: function(data) {
        //第一次加载页面,此处不会报错,往后便会报错
        //layui.laytpl(.....).render(...)......not a function 
        	layui.laytpl($("sc1").html()).render(data, function(html){
        		$("#div1").html(html)
        	});
        	
        }
    });

经过分析,当第一次页面加载,刷新的时候 $(“sc1”).html() 得到了样式,但是当异步加载完成后,渲染的时候 $(“sc1”).html() 此方法得到的 untified ,无法调用render方法,就得到了以上的报错信息。
我的解决方法是,第一次加载的时候,将 $(“sc1”).html() 得到的样式保存在全局变量,以后异步加载的使用即可,目前测试正常,(不太了解这块内容,此方法可能不合规矩,)

ajax异步传输遇到的问题
问题描述:
一个点击事件执行两个ajax方法,第一个方法存储,第二个读取,向后台访问两次,后台加了Debug和没加Debug返回的结果不同;
原因:
方法一:做的是存储操作,需要修改数据库对应的表
方法二:做的是读取操作
异步传输的时候两个方法互不干涉,虽然调用的时候有顺序 ,上下位置,但是也会各自执行,可能也是同时执行,方法一还未执行完毕存储操作,方法二就可能已经执行完了读取的操作,导致方法二读不到方法一入库的数据,记为A结果,如果方法一执行完毕,方法二在读取,记为B结果,此时极大可能AB不同;如果在方法二读取数据库过程中debug,方法一很有可能已经执行完毕,方法二读取的内容便是最新的(包含方法一入库的数据)
解决:如果想要互相影响,加上ajax的异步属性async: false即可

以上内容不专业,只是个人的浅显的理解,存在错误的观点 还望高手指点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值