首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在livevalidation中始终返回false

在livevalidation中始终返回false
EN

Stack Overflow用户
提问于 2012-10-23 18:51:15
回答 1查看 221关注 0票数 0

我无法使用livevalidation.js捕获ajax请求是真是假。无论php函数执行什么,它总是返回用户名,返回false或true;

PHP代码

代码语言:javascript
复制
public function valid_username()
{
   $is_username_exist = 'some query here';

   if($is_username_exist == true){
        $output['success'] = true;
   }else{
       $output['success'] = false;
   }

   echo json_encode($output);
}

JS代码

代码语言:javascript
复制
$(document).ready( function() {
var username = new LiveValidation('username',{validMessage: 'Available', wait:500});
username.add( Validate.Presence );
username.add( Validate.Length, { minimum: 4, maximum: 10 } );
username.add( Validate.Custom, { against: function() { return  check_username_availability( 'username', '#username', base_url+'cms-profile/profile_ajax/valid_username');}, failureMessage: 'Username already taken' } );

});

function check_username_availability(name, id, postUrl)
{
var dataVal = name+'='+$(id).val();

  $.ajax({
    url: postUrl,
    cache: false,
    type: 'post',
    dataType: 'json',
    data: dataVal,
    async:  false,
    success: function(data) {
     return $.parseJSON(data);
    }
  });  
}
EN

回答 1

Stack Overflow用户

发布于 2012-10-23 18:55:09

在使用ajax进行POSTing时,可以这样设置数据:

代码语言:javascript
复制
$.ajax({
    url: postUrl,
    cache: false,
    type: 'post',
    dataType: 'json',
    data: {'name':name , 'id': id},
    async:  false,
    success: function(data) {
     return data.success;
    }
  });  

并且不要使用parseJSON。不需要,因为您可以直接返回您的响应值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13028835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档