Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法使用jQuery函数触发.ajaxComplete()函数_Php_Jquery_Ajax - Fatal编程技术网

Php 无法使用jQuery函数触发.ajaxComplete()函数

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"; $

我目前正在尝试使用ajax函数检查名称的可用性,但无法提示正确的消息。它总是卡在“加载”图标上。我试图对代码进行故障排除,但它似乎无法触发
.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">&nbsp;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('&nbsp;<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">&nbsp;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('&nbsp;<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">&nbsp;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('&nbsp;<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">&nbsp;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('&nbsp;<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);
}
});