用户
 找回密码
 入住 CI 中国社区
搜索
查看: 11760|回复: 54
收起左侧

[已解决] 关于jq的ajax验证用户的一个奇怪问题???/

  [复制链接]
发表于 2012-3-2 00:58:10 | 显示全部楼层 |阅读模式
本帖最后由 pspman2 于 2012-3-2 17:33 编辑

这是我的jquery代码
if( $(this).is('#user_name') ){
                                        if( this.value=="" || this.value.length < 6 ){
                                                $parent.append('<span class="formtips onError"></span>');
                                        }else{
                                                $.ajax({
                                                            type: "POST",
                                                            url: "<?php echo site_url('index/usercheck') ?>",
                                                            datatype: "text",
                                                            data:"name="+$("#user_name").val(),
                                                            success: function callback(data){
                                                               if(data=="2"){
                                                                                message='hello';
                                                                                $append = '<span class="formtips onSuccess">'+message+'</span>'
                                                                                $parent.append($append);
                                                                        }else{
                                                                                $parent.append('<span class="formtips onError">'+data+'</span>');
                                                                        }
                                                            }
                                                          });
                                                }

                         }
这是控制器中调用的方法
        function usercheck(){
                if($this->Index_model->user_check()){
                        echo "该用户已存在";
                }else{
                        echo "2";
                }
        }
model里的方法就不贴出了,代码没错。
这是出来的两个效果:


本来按照上面的代码第一张图片的效果应该是这样的才对:

不知道到为什么,回调函数data的数据text字符串才对的,我加了个判断,但是总是只执行else后面的代码,在网上搜也搜不了答案,别人的例子用判断好像是可以的,本人jquery方面不是十分精通,请各位高人指点迷津




发表于 2012-3-2 06:21:40 | 显示全部楼层
先不管了。首先LZ心中老是想输出2,心中有佛,自然就有佛,中心有2,自然就2了。开玩笑的LZ。提示一下用到ajax或是js的时候用firefox浏览器,在加firebug你就一目了然问题出在那里了。
发表于 2012-3-2 09:17:19 | 显示全部楼层
JS复制代码
success: function callback(data){
复制代码

改成
JS复制代码
success: function(data){
复制代码

看看
发表于 2012-3-2 09:19:54 | 显示全部楼层
还有
PHP复制代码
 
        function usercheck(){
                if($this->Index_model->user_check()){
                        echo "该用户已存在";
                }else{
                        echo "2";
                }
        }
 
复制代码

echo 以后用一下exit;不要再输出其他内容。当然最好还是用firebug来看视图输出的东西,才好调试脚本。
 楼主| 发表于 2012-3-2 13:02:06 | 显示全部楼层
huboo82 发表于 2012-3-2 09:17
改成

看看

其实之前是没有callback的,因为也是同样的效果,我想是不是方法的书写有问题,所以就改了,结果一样,还有控制器那里加了个exit结果也是一样,我没有用firefox,用的是opera中的检查元素,感觉前面好像有个空格,不过我改jq的代码时也试过加了个空格,还是一样,现在我想知道究竟这data是什么数据类型来的,其实控制器里的else部分也试过不要的,按照道理返回是空值来的,但是data的返回数据还是有的(就一空格),用if判断它(data==" "),结果还是不会true的部分…………啊~~~~我现在都不知道我在说什么了~~~
 楼主| 发表于 2012-3-2 13:07:05 | 显示全部楼层
加了张检查元素的图片
 楼主| 发表于 2012-3-2 13:08:16 | 显示全部楼层
sdink 发表于 2012-3-2 06:21
先不管了。首先LZ心中老是想输出2,心中有佛,自然就有佛,中心有2,自然就2了。开玩笑的LZ。提示一下用到aj ...

用opera的检查元素行不行??我一直用它
发表于 2012-3-2 13:11:04 | 显示全部楼层
pspman2 发表于 2012-3-2 13:08
用opera的检查元素行不行??我一直用它

 楼主| 发表于 2012-3-2 13:19:47 | 显示全部楼层
sdink 发表于 2012-3-2 13:11

不要惊讶,我用了firebug也是一样,找不到原因
发表于 2012-3-2 13:24:21 | 显示全部楼层
pspman2 发表于 2012-3-2 13:19
不要惊讶,我用了firebug也是一样,找不到原因

$append = '<span class="formtips onSuccess">'+message+'</span>'能不能加个;啊

本版积分规则