繁体   English   中英

$ .ajax无法正常工作

[英]$.ajax not working properly

我想从如下所示的php文件中获取一个值,我可以看到loader.gif但看不到avaiable.png或not_avaiable.png为什么呢?

$(document).ready(function()//When the dom is ready 
{
    $("#inputEmail").change(function()
    { //if theres a change in the username textbox

        var inputEmail = $("#inputEmail").val();//Get the value in the username textbox
        if (inputEmail.length > 2)//if the lenght greater than 3 characters
        {
            $("#availability_status").html('<img src="images/loader.gif" align="absmiddle">&nbsp;Checking availability...');
//Add a loading image in the span id="availability_status"

            $.ajax({//Make the Ajax Request
                type: "POST",
                url: "check_email.php", //file name
                data: "inputEmail=" + inputEmail, //data
                success: function(server_response) {

                    $("#availability_status").ajaxComplete(function(event, request) {

                        if (server_response === '0')//if ajax_check_username.php return value "0"
                        {
                            $("#availability_status").html('<img src="images/available.png" align="absmiddle">Yes');
                            $("#submit_button").css("display", "initial");
                            $("#inputEmail").attr('data-email','0');
                            //add this image to the span with id "availability_status"
                        }
                        else if (server_response === '1')//if it returns "1"
                        {
                            $("#availability_status").html('<img src="images/not_available.png" align="absmiddle">No');
                            $("#submit_button").css("display", "none");
                        }

                    });
                }
            });
        }
        else {
            $("#availability_status").html('<font color="#cc0000">Username too short</font>');
//if in case the username is less than or equal 3 characters only 
        }
        return false;
    });

});

check_email.php是

<?php

echo '1';

 ?>

如果jquery或div有问题,我在div中看不到loader.gif吗? 问题出在哪儿?

当您在AJAX调用的success()方法内部时,不需要使用ajaxComplete() 像这样在success()方法中正确处理您的事情:

$.ajax({
    type: "POST",
    url: "check_email.php",
    timeout: 9000,
    data: "inputEmail=" + inputEmail,
    success: function(server_response) {
        if (server_response === '0') {
            $("#availability_status").html(
                '<img src="images/available.png" align="absmiddle">Geçerli'
            );
            $("#submit_button").css("display", "initial");
            $("#inputEmail").attr('data-email','0');
        } else if (server_response === '1') {
            $("#availability_status").html(
                '<img src="images/not_available.png" align="absmiddle">Geçersiz'
            );
            $("#submit_button").css("display", "none");
        }
    },
    error: function(xhr, textStatus, errorThrown){
        alert('request failed');
    }
});

也可能是timeout ,所以我在那里添加了timeout

尝试这样:

$.ajax({
          type: "POST",
          url: base_url,
          data: your data,
          dataType: "json",
          success: function(data)
              {
              }
           });

试试这个

formData = {
    inputEmail: $("#inputEmail")

}

$.ajax({ 
    type: "POST",
    url: "check_email.php",
    data: formData,
    success: function(server_response) {
        $("#availability_status").ajaxComplete(function(event, request) {
            if (server_response === '0') //if ajax_check_username.php return value "0"
            {
                $("#availability_status").html('<img src="images/available.png" align="absmiddle">Yes');
                $("#submit_button").css("display", "initial");
                $("#inputEmail").attr('data-email', '0');
                //add this image to the span with id "availability_status"
            } else if (server_response === '1') //if it returns "1"
            {
                $("#availability_status").html('<img src="images/not_available.png" align="absmiddle">No');
                $("#submit_button").css("display", "none");
            }
        });
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM