如果没有 firebug 断点,jquery ajax 将无法工作

2024-02-08

我使用以下方法来调用 php:

function validateEmaiAjax(email){
    val = null;
    $("#warning").load("https://localhost/Continental%20Tourism/register_ajax.php",{email: email}, function(rspns, stat, xml){
        val = rspns;
    });

    if(val == ".")
        return true;
    else {
        return false;
    }
}

我的PHP代码是:

<?php
    $dbc = mysqli_connect("localhost","root","pass","continental_tourism") OR die(mysqli_connect_error());

    $email = $_REQUEST['email'];

    $query = "SELECT email FROM customer_info WHERE email = '$email' ";

    $r = mysqli_query($dbc, $query) OR die(mysqli_error($dbc));

    if(mysqli_num_rows($r) > 0)
        echo "Email address exists!";
    else
        echo ".";   
?>

基本上,这会检查数据库,如果电子邮件存在,则会显示“电子邮件地址存在!”如果没有我想return true(所以我回显“.”并进行比较)。奇怪的是,如果我在附近使用 firebug 放置一个断点if(val == ".")程序正确运行并返回 true。如果我删除该断点函数总是返回 false。我不明白为什么会发生这种情况。请帮忙!谢谢。


您遇到此问题的原因是因为您执行了异步要求。这意味着if(rspns == ".")将在收到服务器响应之前到达,并且结果将始终是false.

为了将此代码包装在返回布尔值并且不需要回调函数(阻塞过程)的函数中,您将需要使用同步请求:

function validateEmaiAjax(email) {

  // This is the correct way to initialise a variable with no value in a function
  var val;

  // Make a synchronous HTTP request
  $.ajax({
    url: "https://localhost/Continental%20Tourism/register_ajax.php",
    async: false,
    data: {
      email: email
    },
    success: function(response) {
      // Update the DOM and send response data back to parent function
      $("#warning").html(response);
      val = response;
    }
  });

  // Now this will work
  if(val == ".") {
    return true;
  } else {
    $("#warning").show();
    return false;
  }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果没有 firebug 断点,jquery ajax 将无法工作 的相关文章

随机推荐

  • 这些嵌套向量是如何连接的?

    我编写了一段代码 它创建了一个向量 记分板 其中包含 3 个大小为 3 的独立向量 所有向量都包含符号 在所有索引 0 2 处 当我现在执行 向量集 时在记分牌的第一个向量上 要将其第一个元素更改为 X 向量 2 和 3 也会更改 这是如何
  • 防止在 Javascript 中自动创建全局变量

    我刚刚花了一些时间调试一个问题 归根结底是忘记使用var关键字位于新变量标识符前面 因此 Javascript 会自动在全局范围内创建该变量 有什么方法可以防止这种情况发生 或者更改默认行为 而不使用像 JSLint 这样的验证器 在编写和
  • 如何仅在第一次启动时显示视图?

    我使用 Xcode 4 5 和故事板构建了一个应用程序 第一次启动应用程序时 我希望初始视图控制器出现 并附带必须接受才能继续的条款和条件 之后 我希望应用程序启动并跳过第一个视图控制器并转到第二个视图控制器 我知道我必须使用 NSUser
  • Android 4.3 BTLE作为服务器:如何启动广告?

    我正在尝试使用 4 3 中的新 BTLE API 在 Nexus 7 上实现 BTLE 服务器 我遇到了几个问题 首先 SDK 中没有示例 唯一的例子是针对客户的 其次 文档实际上告诉你做错误的事情 它指出 人们必须使用BluetoothA
  • 如何检测 MemoryMappedFile 是否正在使用

    在 C 4 0 中 MemoryMappedFile有几种工厂方法 CreateFromFile CreateNew CreateOrOpen or OpenExisting 我需要打开MemoryMappedFile如果存在 则从文件创建
  • Gitlab docker 和 external_url

    你好 我使用 docker 安装了最新的 gitlab 我使用 p 10080 80 和 10022 22 启动容器 我可以浏览 gitlab 并执行我需要的操作 我什至可以分别使用端口 10080 和 10022 git 克隆 http
  • 如何在android webview中启用默认突出显示菜单?

    如何在 android webview 中启用默认文本突出显示菜单 例如 复制 粘贴 搜索 共享 在 Android 1 5 2 3 上工作 您可以使用emulateShiftHeld 自 2 2 起公开 但现在已弃用 此方法将您的 Web
  • 使用 'hd' 参数限制 Google OAuth 访问一个域 (Django / python-social-auth)

    我正在构建一个内部网络应用程序供我的公司使用 并希望使用我们的 Google Apps 域来管理来自我们公司域用户名的访问 本问题的其余部分为 example com 我在用着 Django 1 9 5 python social auth
  • 如何在日期字段上显示日期选择器日历

    这是关于如何使用 jQuerydate picker在 django 支持的站点中 models py is from django db import models class holidaytime models Model holid
  • 对数组使用限制?

    有没有办法告诉 C99 编译器我访问给定数组的唯一方法是使用 myarray index 说这样的话 int heavy calcualtions float restrict range1 float restrict range2 fl
  • 为 iPhone 本地化货币

    我希望我的 iPhone 应用程序允许用户使用适当的符号 等 输入 显示和存储货币金额 NSNumberFormatter 会做我需要的一切吗 当用户切换其区域设置并且这些金额 美元 日元等 存储为 NSDecimalNumbers 时会发
  • Java 中 HTML 字符编码的转换

    我们正在尝试下载网页源代码 但是由于字符编码的原因 我们无法正确看到某些特定字符 例如 我们尝试了以下代码来转换字符串 text 变量 的编码 byte xyz text getBytes text new String xyz windo
  • React:搜索和过滤功能存在问题

    我正在开发一个组件 它应该能够 按输入搜索 使用输入字段 在触发 onBlur 事件后将调用一个函数 之后onBlur事件开始寻找 方法将运行 按所选流派过滤 用户可以从其他组件中从流派列表中选择流派 之后onClick事件启动过滤器 方法
  • 使用 Facebook 图表来获取粉丝页面的粉丝?

    我有一个粉丝页面 位于http www facebook com shop4tronix http www facebook com shop4tronix 我可以通过以下方式访问此页面上的信息 http graph facebook co
  • 文本区域 onresize 不起作用

    根据w3schools
  • 返回主菜单不断循环菜单

    当程序第一次启动时 我可以成功地从主菜单中选择任何选项 但是 当我从任何子菜单中选择 返回主菜单 选项时 它都会返回主菜单 但无论我之后再次按哪个选项 它都会继续循环该菜单 只允许我选择返回主菜单选项 如何将选择重置到不会继续循环的位置 我
  • GDB源路径

    如何让gdb使用不同的目录来查找源文件 例如 我在编译期间的源文件位于目录中 home foo bar c 接下来 我将其移动到目录中 tmp debug home foo bar c 如何强制gdb在该目录中搜索 根据这个网站 https
  • 基于有序对多关系对描述符进行排序

    我的核心数据模型的描述 项目和问题实体 项目有一个有序的一对多关系至已命名问题的问题 问题与名为parentProject 的项目具有一对一的关系 这是我获取问题的代码 let fetchRequest NSFetchRequest ent
  • 如何编写混淆矩阵

    我用Python写了一个混淆矩阵计算代码 def conf mat prob arr input arr confusion matrix conf arr 0 0 0 0 for i in range len prob arr if in
  • 如果没有 firebug 断点,jquery ajax 将无法工作

    我使用以下方法来调用 php function validateEmaiAjax email val null warning load https localhost Continental 20Tourism register ajax