4

I'm trying to write a simple ajax call with jQuery in ASP.NET.

Here is the Ajax call in JavaScript file:

$.ajax(
        {
            url: "AjaxCall.aspx/GetSquare",
            dataType: "text",

            success: function (data) {
                alert(data);
            },

            error: function () { alert("Ajax Error"); }
        });

And here is the web method in .aspx file:

[WebMethod]
    public string GetSquare()
    {
        return "OK";
    }

And this is what I get in alert:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml">   
<head><title>    
</title></head>    
<body>    
    <form method="post" action="GetSquare" id="form1">    
<div class="aspNetHidden">   
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE2MTY2ODcyMjlkZLfZC2ZpNR/9g+3q7Z3ARCxIRMMXrN2MoePSYHvaiYH3" /> 
</div>
    <div>    
    </div>
    </form>
</body>
</html>

Why returned value was whole html markup instead of "OK"?

3 Answers 3

2

change datatype, try this

dataType: "json",
Sign up to request clarification or add additional context in comments.

Comments

2

you can have a look at the following

// Code behind method declared static

[WebMethod]
public static string GetSquare()
{
    return "OK";
}

your button whose click this has to be done

<input type="button" id="button" value="Chnageurl" onclick="ajaxcall()" />

script for this

<script type="text/jscript">

    function ajaxcall(e) {        
        $.ajax({
            type: "POST",
            url: "Default.aspx/GetSquare",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                alert(data.d);
            },

            error: function () { alert("Ajax Error"); }
        });
    };
</script>

1 Comment

the alert(data.d) showed my return value, but alert(data) doesnt. Thanks
0

First of all I would suggest you to check out below article and change your code accordingly:

http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/

It could be the reason, you might be missing web.config entry.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.