【问题标题】:Can't send textfield value to PHP file with jQuery无法使用 jQuery 将文本字段值发送到 PHP 文件
【发布时间】:2023-03-16 16:47:02
【问题描述】:

我想使用 jQuery 将此文本字段值发送到 php 文件。

HTML 代码:

<div>
    <label for="email">Email: </label>
    <input type="text" id="email" name="email" />
    <span id="msgbox" class="msgbox"></span>
</div>

jQuery 代码:

$(document).ready(function()
{
    $("#email").blur(function()
    {
        $("#msgbox").removeClass().addClass('messagebox').text('Checking...').fadeIn("slow");

        $.post("availability.php", { email: $(this).val() }, function(data)
        {
            if(data == 'yes')
            {
                $("#msgbox").fadeTo(200, 0.1, function()
                { 
                    $(this).html('Email Already exists').addClass('messageboxerror').fadeTo(900,1);
                });  
            }
            else
            {
                $("#msgbox").fadeTo(200, 0.1, function()
                { 
                    $(this).html('Email available to register').addClass('messageboxok').fadeTo(900,1); 
                });
            }
        });
    });
});

PHP 代码:

include_once $_SERVER['DOCUMENT_ROOT'] . '/braddclient/includes/magicquotes.inc.php';
include $_SERVER['DOCUMENT_ROOT'] . '/braddclient/includes/db.inc.php';

$email = mysqli_real_escape_string($link, $_POST['email']);

$sql = "SELECT * FROM bradduser WHERE email='$email'";
$result = mysqli_query($link, $sql);

if(!$result)
{
    $error = 'Error fetching email from bradduser.';
    include 'error.html.php';
    exit();
}

if(mysqli_num_rows($result) > 0)
{ 
    echo ‘yes’; //email already exist
} 
else 
{
    echo ‘no’;
}

代码的问题在于,这似乎不是 jquery 和 php 之间的通信。数据拒绝发送到 php。请帮忙看看代码有什么问题。

【问题讨论】:

  • 至少尝试很好地格式化您的代码...

标签: php jquery mysql


【解决方案1】:

echo ‘yes’; 不是有效的语法

尝试:

echo 'yes'; 带单引号

你的 jQuery 脚本没问题,但我认为你对 availability.php 有问题

  • 检查它是否在同一个文件夹中,如果不是,放一个相对路径
  • 检查您的数据库连接
  • 检查您是否有' 而不是
  • 尝试使用参数访问availability.php,并测试使用$_REQUEST['email'],然后切换回来。 (例如:@987654321@

【讨论】:

  • 感谢您的帮助米海。我发现错误在于availability.php的路径。
【解决方案2】:

乍一看它看起来是正确的,所以有几点需要注意:

  • “availability.php”在哪里?它是否与运行 jQuery 脚本的页面位于同一文件夹中?如果不是,您将需要更改路径,例如“/availability.php”(如果它位于站点根目录中)或“/folder/availability.php”(如果它位于子文件夹中)。
  • 如果您还没有,请获取 Firefox 和 Firebug; Firebug 会向您显示从页面发出的任何 AJAX 请求,以及服务器返回的内容——非常有用。

【讨论】:

  • 感谢您的帮助马克。问题在于我的 php 文件的路径。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多