Php 无法使用jQuery函数触发.ajaxComplete()函数
我目前正在尝试使用ajax函数检查名称的可用性,但无法提示正确的消息。它总是卡在“加载”图标上。我试图对代码进行故障排除,但它似乎无法触发Php 无法使用jQuery函数触发.ajaxComplete()函数,php,jquery,ajax,Php,Jquery,Ajax,我目前正在尝试使用ajax函数检查名称的可用性,但无法提示正确的消息。它总是卡在“加载”图标上。我试图对代码进行故障排除,但它似乎无法触发.ajaxComplete功能。我对此一无所知,如果我做错了什么,请指出。谢谢 以下是我的Ajax代码: <script type="text/javascript"> pic1 = new Image(16, 16); pic1.src = "assets/img/loader.gif"; $
.ajaxComplete
功能。我对此一无所知,如果我做错了什么,请指出。谢谢
以下是我的Ajax代码:
<script type="text/javascript">
pic1 = new Image(16, 16);
pic1.src = "assets/img/loader.gif";
$(document).ready(function(){
$("#packageName").change(function() {
var pName = $("#packageName").val();
if(pName.length >= 4)
{
$("#status").html('<img src="assets/img/loader.gif" align="absmiddle"> Checking availability...');
$.ajax({
type: "POST",
url: "checkPackageAvaibility.php",
data: "packageName="+pName,
success: function(msg){
$("#status").ajaxComplete(function(event, request, settings){
if(msg == "OK")
{
$("#packageName").removeClass('object_error'); // if necessary
$("#packageName").addClass("object_ok");
$(this).html(' <img src="assets/img/tick.gif" align="absmiddle">');
}
else
{
$("#packageName").removeClass('object_ok'); // if necessary
$("#packageName").addClass("object_error");
$(this).html(msg);
}
});
}
});
}
else
{
$("#status").html('<font color="red">The username should have at least <strong>4</strong> characters.</font>');
$("#packageName").removeClass('object_ok'); // if necessary
$("#packageName").addClass("object_error");
}
});
});
//-->
</script>
pic1=新图像(16,16);
pic1.src=“assets/img/loader.gif”;
$(文档).ready(函数(){
$(“#packageName”).change(function(){
var pName=$(“#packageName”).val();
如果(pName.length>=4)
{
$(“#状态”).html(‘检查可用性…’);
$.ajax({
类型:“POST”,
url:“checkPackageAvailability.php”,
数据:“packageName=“+pName,
成功:函数(msg){
$(“#状态”).ajaxComplete(功能(事件、请求、设置){
如果(消息==“确定”)
{
$(“#packageName”).removeClass('object_error');//如有必要
$(“#packageName”).addClass(“对象#ok”);
$(this.html(“”);
}
其他的
{
$(“#packageName”).removeClass('object_ok');//如果需要
$(“#packageName”).addClass(“对象_错误”);
$(this.html(msg);
}
});
}
});
}
其他的
{
$(“#status”).html('用户名应至少包含4个字符');
$(“#packageName”).removeClass('object_ok');//如果需要
$(“#packageName”).addClass(“对象_错误”);
}
});
});
//-->
以下是我的php代码:
<?php
include "include/session.php";
include 'include/dbConnect.php';
global $dbLink;
if(isset($_POST["packageName"])){
$pacName = $_POST["packageName"];
$query= ("SELECT * FROM Package WHERE package_name = '$pacName'");
$sql_check = sqlsrv_query($dbLink,$query);
$rows = sqlsrv_has_rows($sql_check);
if($rows ===true )
{
echo '<font color="red">The nickname <STRONG>'.$pacName.'</STRONG> is already in use.</font>';
}
else
{
echo 'OK';
}
}
?>
您需要绑定到文档
从jQuery1.8开始,只应附加.ajaxComplete()方法
记录
所以
演示:
您不需要ajaxComplete()
,只需使用done回调,如
pic1 = new Image(16, 16);
pic1.src = "assets/img/loader.gif";
$(document).ready(function () {
$("#packageName").change(function () {
var pName = $("#packageName").val();
if (pName.length >= 4) {
$("#status").html('<img src="assets/img/loader.gif" align="absmiddle"> Checking availability...');
$.ajax({
type: "POST",
url: "checkPackageAvaibility.php",
data: "packageName=" + pName
}).done(function (msg) {
if (msg == "OK") {
$("#packageName").removeClass('object_error'); // if necessary
$("#packageName").addClass("object_ok");
$('#status').html(' <img src="assets/img/tick.gif" align="absmiddle">');
} else {
$("#packageName").removeClass('object_ok'); // if necessary
$("#packageName").addClass("object_error");
$('#status').html(msg);
}
});
} else {
$("#status").html('<font color="red">The username should have at least <strong>4</strong> characters.</font>');
$("#packageName").removeClass('object_ok'); // if necessary
$("#packageName").addClass("object_error");
}
});
});
pic1=新图像(16,16);
pic1.src=“assets/img/loader.gif”;
$(文档).ready(函数(){
$(“#packageName”).change(函数(){
var pName=$(“#packageName”).val();
如果(pName.length>=4){
$(“#状态”).html(‘检查可用性…’);
$.ajax({
类型:“POST”,
url:“checkPackageAvailability.php”,
数据:“packageName=“+pName”
}).done(函数(msg){
如果(消息==“确定”){
$(“#packageName”).removeClass('object_error');//如有必要
$(“#packageName”).addClass(“对象#ok”);
$('#status').html('');
}否则{
$(“#packageName”).removeClass('object_ok');//如果需要
$(“#packageName”).addClass(“对象_错误”);
$('#status').html(msg);
}
});
}否则{
$(“#status”).html('用户名应至少包含4个字符');
$(“#packageName”).removeClass('object_ok');//如果需要
$(“#packageName”).addClass(“对象_错误”);
}
});
});
您需要绑定到文档
从jQuery1.8开始,只应附加.ajaxComplete()方法
记录
所以
演示:
您不需要ajaxComplete()
,只需使用done回调,如
pic1 = new Image(16, 16);
pic1.src = "assets/img/loader.gif";
$(document).ready(function () {
$("#packageName").change(function () {
var pName = $("#packageName").val();
if (pName.length >= 4) {
$("#status").html('<img src="assets/img/loader.gif" align="absmiddle"> Checking availability...');
$.ajax({
type: "POST",
url: "checkPackageAvaibility.php",
data: "packageName=" + pName
}).done(function (msg) {
if (msg == "OK") {
$("#packageName").removeClass('object_error'); // if necessary
$("#packageName").addClass("object_ok");
$('#status').html(' <img src="assets/img/tick.gif" align="absmiddle">');
} else {
$("#packageName").removeClass('object_ok'); // if necessary
$("#packageName").addClass("object_error");
$('#status').html(msg);
}
});
} else {
$("#status").html('<font color="red">The username should have at least <strong>4</strong> characters.</font>');
$("#packageName").removeClass('object_ok'); // if necessary
$("#packageName").addClass("object_error");
}
});
});
pic1=新图像(16,16);
pic1.src=“assets/img/loader.gif”;
$(文档).ready(函数(){
$(“#packageName”).change(函数(){
var pName=$(“#packageName”).val();
如果(pName.length>=4){
$(“#状态”).html(‘检查可用性…’);
$.ajax({
类型:“POST”,
url:“checkPackageAvailability.php”,
数据:“packageName=“+pName”
}).done(函数(msg){
如果(消息==“确定”){
$(“#packageName”).removeClass('object_error');//如有必要
$(“#packageName”).addClass(“对象#ok”);
$('#status').html('');
}否则{
$(“#packageName”).removeClass('object_ok');//如果需要
$(“#packageName”).addClass(“对象_错误”);
$('#status').html(msg);
}
});
}否则{
$(“#status”).html('用户名应至少包含4个字符');
$(“#packageName”).removeClass('object_ok');//如果需要
$(“#packageName”).addClass(“对象_错误”);
}
});
});
您需要绑定到文档
从jQuery1.8开始,只应附加.ajaxComplete()方法
记录
所以
演示:
您不需要ajaxComplete()
,只需使用done回调,如
pic1 = new Image(16, 16);
pic1.src = "assets/img/loader.gif";
$(document).ready(function () {
$("#packageName").change(function () {
var pName = $("#packageName").val();
if (pName.length >= 4) {
$("#status").html('<img src="assets/img/loader.gif" align="absmiddle"> Checking availability...');
$.ajax({
type: "POST",
url: "checkPackageAvaibility.php",
data: "packageName=" + pName
}).done(function (msg) {
if (msg == "OK") {
$("#packageName").removeClass('object_error'); // if necessary
$("#packageName").addClass("object_ok");
$('#status').html(' <img src="assets/img/tick.gif" align="absmiddle">');
} else {
$("#packageName").removeClass('object_ok'); // if necessary
$("#packageName").addClass("object_error");
$('#status').html(msg);
}
});
} else {
$("#status").html('<font color="red">The username should have at least <strong>4</strong> characters.</font>');
$("#packageName").removeClass('object_ok'); // if necessary
$("#packageName").addClass("object_error");
}
});
});
pic1=新图像(16,16);
pic1.src=“assets/img/loader.gif”;
$(文档).ready(函数(){
$(“#packageName”).change(函数(){
var pName=$(“#packageName”).val();
如果(pName.length>=4){
$(“#状态”).html(‘检查可用性…’);
$.ajax({
类型:“POST”,
url:“checkPackageAvailability.php”,
数据:“packageName=“+pName”
}).done(函数(msg){
如果(消息==“确定”){
$(“#packageName”).removeClass('object_error');//如有必要
$(“#packageName”).addClass(“对象#ok”);
$('#status').html('');
}否则{
$(“#packageName”).removeClass('object_ok');//如果需要
$(“#packageName”).addClass(“对象_错误”);
$('#status').html(msg);
}
});