0

我有一些使用 Prototype 验证表单的代码,但我想添加一个 jQuery ajax 函数来检查用户名是否已存在于数据库中。但是,jQuery 返回的值始终是一个对象,而不是用户名是否存在的布尔值。到目前为止,这是我的代码:

验证.js

//Using Prototype
Validation.addAllThese([

    ['validate-username', 'Username already exists. Please choose another one.', 
      function (v) {     //v is the value of the username field in the form.

        //Using jQuery
        var match = jQuery.ajax({
                        url: "/php/ajax/check_username_exists.php",
                        data: {username: v},
                        async: false
                    });
        return (match.responseText == v);

]);

check_username_exists.php

<?php
include '../library.php';
include '../config.php';

//Echo string username if matches
echo select_row("USERNAME", "members", "USERNAME='".$_GET['username']."'");
?>

我已经检查了 StackOverflow 上的其他线程,包括这个,但似乎没有一个可以解决问题。

谢谢

4

1 回答 1

1

好的,这是解决方案代码:

var match = jQuery.ajax({
    url: "/php/ajax/check_username_exists.php",
    data: {username: v},
    async: false
});
return (match.responseText != v);

无效时返回应该是错误的。所以我让它返回true如果用户名存在应该是false。一个简单的改变从==解决!=问题。

于 2013-05-23T21:55:37.560 回答