当前位置: 首页 > 面试题库 >

Ajax如何与PHP一起使用?

柴亦
2023-03-14
问题内容

我在使用Ajax和php时遇到麻烦。我正在尝试做的是调用ajax函数,该函数从表单的输入中获取值,并检查数据库中是否存在该电子邮件。这是我当前的javascript:

//Checks for Existing Email
function checkExisting_email() {
    $.ajax({
        type: 'POST',
        url: 'checkExist.php',
        data: input
    });

emailExists = checkExisting_email();

//If it exists
if (emailExists) {
    alert("This email already exists!");
}

不幸的是,我无法戒备。在我的PHP函数中,它检查输入的是用户名还是电子邮件(仅出于我的目的,所以您知道),然后在任一列中查找它。如果找到它,则返回true,否则返回false:

include ('func_lib.php');
connect();
check($_POST['input']);

function check($args)
{
    $checkemail = "/^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}$/i";
    if (!preg_match($checkemail, $args)) {
        //logic for username argument
        $sql = "SELECT * FROM `users` WHERE `username`='" . $args . "'";
        $res = mysql_query($sql) or die(mysql_error());

        if (mysql_num_rows($res) > 0) {
            return true;
        } else {
            return false;
        }
    } else {
        //logic for email argument
        $sql = "SELECT * FROM `users` WHERE `email`='" . $args . "'";
        $res = mysql_query($sql) or die(mysql_error());

        if (mysql_num_rows($res) > 0) {
            return true;
        } else {
            return false;
        }
    }

}

所以我的问题是,ajax如何响应这些返回值,以及如何相应地使ajax函数起作用?主要是为什么这不起作用?

很感谢任何形式的帮助。谢谢!


问题答案:

您需要将该success选项添加到您的Ajax请求中,该请求是XHR成功时执行的JS函数。请查看jQuery文档以获取更多信息。

如果不运行脚本,我想您会发现它$_POST['input']是空的。您需要像data: {'input': input}这样做那样传递数据。

您的PHP还需要向脚本返回一些内容。考虑将您的呼叫更改check()为以下内容:

echo (check($_POST) ? 'true' : 'false');

您现在可以在JavaScript中检查内容。



 类似资料:
  • 问题内容: 我一直在四处搜寻,但是我不太了解ajax的工作原理。 可否请人解释这是如何工作的? 我正在尝试做的是查看document.getElementsByClassName(current)是否已更改。如果有,它将询问app.py当前的评论和标签,并在不刷新的情况下更新页面。我也不知道该怎么写才能在app.py上收到它。 我将包含我的app.py,但这不是很好。 问题答案: 通常,服务器上的

  • 问题内容: 我有一个页面test.php,其中包含以下代码: 我有一个页面,SetCookie.php,其中包含以下代码: 当单击test.php的按钮时,我使用XMLHttpRequest来调用我的SetCookie.php页面。该页面将执行,因为如果我向其添加回显,则会在xmlhttp响应中得到它。但是,TestCookie似乎没有设置。 如果在text.php中,我执行与SetCookie.

  • 问题内容: 解决的更新: 经过所有这些工作,我发现我正在更新ajax中调用代码的旧版本。“ boardControl.php”而不是“ boardUpdate.php”这些是使编程变得有趣的错误类型。 我正在写一个浏览器gomoku游戏。我有ajax声明,允许播放器演奏一曲。 值=木板面积位置 出价=木板ID 在创建用于标识玩家身份的用户登录名之前,服务器端php有一个临时解决方案。单击时会旋转方

  • 问题内容: 我收到错误消息“无法加载驱动程序” 问题答案: 尝试这个: 通过删除“;”在php.ini中取消注释以下内容: 使用以下代码连接到PostgreSQL数据库服务器:

  • 问题内容: 我的Select2 3.4.5无法使用JSON数据。 这是我在HTML上的输入框: …还有我的JavaScript 我使用Laravel 4制作了一个API,每当在文本框中键入任何内容时,该API都会返回一个值。 如果在文本框中键入“ test”,则结果如下: 我无法将结果添加到我的Select2下拉列表中。我认为并且正在引起问题,因为我不知道应该在上面放置什么参数。我不知道从何处获取

  • 我的Select2 3.4.5不适用于JSON数据。 这是我在超文本标记语言上的输入框: ...和我的JavaScript 我用Laravel 4制作了一个API,每当我在文本框中键入任何内容时,它都会返回一个值。 如果我在输入框上键入“test”,结果如下: 我无法将结果添加到Select2下拉列表中。我认为是formatSelection和formatResult导致了这个问题,因为我不知道应