if ($(this).is("#yzm")) {
var reg = /^(13|15|17|18)\d{9}$/;
if (this.value == "") {
var show = $("<span class='error'><br>请填写验证码</span>");
$(this).parent().append(show);
} else if (this.value.length < 4) {
var show = $("<span class='error'><br>请准确填写验证码</span>");
$(this).parent().append(show);
} else{
$.ajax({url:"code_back.asp",type:'POST',data:{v:this.value},dataType:'text',success:function(data){
if(data=='1'){
var show = $("<span class='error'><br>请准确填写验证码</span>");
$(this).parent().append(show);
}
}});
}
}
就是在
if(data=='1'){
var show = $("
请准确填写验证码");
$(this).parent().append(show);
}
}});
}
这个部分 没有办法实现提示,应该怎么做呢
抓包调试下,首先你post数据对不对,服务器返回了200没有,也就是success有没有被执行
返回的是"1"么,还是有别的文字
其次,$(this).parent()这个是什么
var show = "<span class='error'><br>请准确填写验证码</span>";
要看看是要判断字符‘1’还是数字1
dataType:'text'改为dataType:'json'
首先要判断后台是否返回成功,在者判断下自己获得是什么样的结果,这和你后台返回结果有关,最好把后台部分处理也写出来。
首先看返回收据吧,一般返回一个json对象,所以data==1肯定是不对的,其次data==‘1’,最好用eql()吧,毕竟引号引起就是字符串
先看data 是不是1 console.log(data)看一下
把 ajax 访问的 dataType:'text' 改成 dataType:'json', 然后 在success : function(data) 函数里,console.log(data); 页面F12 看一下,,看看 data里面的值,正常应该是 json形式,如: {"va":"1"},这种 你的判断要这么写 if( data.va == '1') 或者 json = eval(data); if( json.va == '1' )
如果 data 包含多层 你就要 data[0].va ,这里 data[0] 就跟数组差不多,根据 页面打印出来的数据,看看 你要应用判断的数据,在那个位置,0是第一位。
把datatype属性去了试一下