我想使用jQuery将此textfield值发送到php文件。
HTML code:
<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。请帮忙看看代码有什么问题。
答案 0 :(得分:2)
echo ‘yes’;
不是有效的sintax
尝试:
单引号 echo 'yes';
你的jQuery脚本没问题,但我认为你有availability.php
'
而不是‘
availability.php
,然后测试使用$_REQUEST['email']
然后切换回来。 (例如:http://www.example.org/availability.php?email=blabla@example.org
)答案 1 :(得分:1)
乍一看它看起来是正确的,所以要看几件事情: