Home > DeveloperSection > Forums > Change css in jquery ajax with asp.net
Goti Bandu

Total Post:119

Points:835
Posted on    September-02-2014 11:44 PM

 ASP.Net ASP.Net 
Ratings:


 1 Reply(s)
 766  View(s)
Rate this:

I wolud like to get results: 2222 .but i can not get the results now.Output '3333' always. can anyone help me out ?thank you very much!

<head runat="server">

<title></title>

<script src="/Scripts/jquery-1.4.1.js" type="text/javascript"></script>

<script language="javascript" type="text/javascript">

    $(function () {

        $("#Button1").click(function () {

            checkCard('333');

            var arrlist = $("span[class='error']");

            if (arrlist.length > 0) {

                alert('2222')

            }

            else {

                alert('3333');

            }

        });

    })

    function checkCard(card_no) {

        $.ajax({

            type: "GET",

            url: "CheckCard.ashx?card_no=" + card_no,

            success: function (data) {

                if (data == "true") {

                    $("#sw").addClass("error");

                }

                else {

                    $("#sw").removeClass("error");

                }

            }

        });

    }

 </script>

</head>

<body>

 <form id="form1" runat="server">

 <div>

    <span id="sw"></span>

</div>

</form>

    <input id="Button1" type="button" value="button" />

</body>

CheckCard.ashx:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Data.SqlClient;

namespace SwipeCard

{

/// <summary>

/// Summary description for CheckCard

/// </summary>

public class CheckCard : IHttpHandler

{

    public void ProcessRequest(HttpContext context)

    {

        context.Response.ContentType = "text/html";

        context.Response.Write("true");

        context.Response.End();

    }

    public bool IsReusable

    {

        get

        {

            return false;

        }

    }

}

}

I wolud like to get results: 2222 .but i can not get the results now.Output '3333' always. can anyone help me out ?

thank you 



Sumit Kesarwani

Total Post:378

Points:2694
Posted on    September-03-2014 11:32 PM

Hi Goti, 

$.ajax is asynchronous. Your style check immediately follows the call, and thus there is no guarantee that the operation has completed. Put the check in the success callback.

function checkCard(card_no) {

    $.ajax({

        type: "GET",

        url: "CheckCard.ashx?card_no=" + card_no,

        success: function (data) {

            if (data == "true") {

                alert("Condition 1 exists");

                $("#sw").addClass("error");

            }

            else {

                alert("Condition 2 exists");

                $("#sw").removeClass("error");

            }

        }

    });

}


Don't want to miss updates? Please click the below button!

Follow MindStick