公司要求做一个会员时间设置功能,一旦会员期限已过就ajax请求设置是否会员字段为否。页面除了展示状态,还可修改会员状态,时间等项目。我做了个功能,$(document).ready({})写了个判断:now>end_time,即ajax请求更改is_vip字段为0(非会员) 。问题出现了:等会员时间更新后提交会将is_vip字段置为0,百思不得其解!
后来查原因,在表单提交后,thinkphp的$this->success()方法会去请求网页,此时页面中的end_time==0 不是DomReady了吗?success()方法结束后跳转回会员页面又重新一次走js的DomReady了,此时end_time是能获取页面值的。
解决方案,只能在判断now>end_time时再加入end_time>0 以免页面没有加载完成,end_time==0时去更改了is_vip的值。
js代码如下:
$(document).ready(function(){
var now=Date.parse(new Date())/1000;
var end=$("#end_time").val();
var end_time=Date.parse(end)/1000;//会员过期后设置
if(now>end_time&&end_time>0){
$.ajax({
type:"GET",
u