【发布时间】:2016-07-05 15:35:12
【问题描述】:
我正在使用 jQuery Validate 插件在我的注册页面上进行字段验证。
我目前在我的验证 JS 中有这段代码,用于检查输入的用户名是否已经存在:
"remote": {
url: "../assets/php/checkUsername.php",
type: "post",
data: {
username: function() {
return $('#register-form :input[name="username"]').val();
}
}
}
checkUsername.php 基本上根据输入的用户名的存在返回真或假。这一切正常,但我想优化它。
现在我有 core.php 文件,它上面已经有名为 account_exists($username) 的函数。这个函数基本上也根据给定用户名的存在返回真或假。
我的问题是,我怎样才能完全摆脱 checkUsername.php 而使用 account_exists 文件中的 account_exists 函数?
core.php 显然包含更多内容,所以我不确定如何告诉我的验证脚本从core.php 调用特定函数。
【问题讨论】:
-
仅供参考,您不需要匿名函数:
data: { username: $('#register-form :input[name="username"]').val() } -
您可以在文件开头使用 get 进行检查吗?
if(isset($_GET['checkUsername'])){ account_exists(); } -
您将数据发送到 PHP 脚本,该脚本会告诉 PHP 脚本您要使用哪个函数并从中返回信息。您可以将您的函数放在一个案例语句中以促进这一点。
switch($_POST['function']) { case 'username'....等 -
JS 无法执行 PHP 代码。您只能向服务器发出 ajax 请求,这意味着您必须将您的 JS 代码指向您的 .php 文件。
-
@JayBlanchard 有没有办法在不改变我的 core.php 的情况下解决这个问题?我只想编辑我的验证 JS。
标签: javascript php jquery jquery-validate