user2682156
user2682156

Reputation: 51

Ajax in jQuery with ASP.NET - return string

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"?

Upvotes: 4

Views: 17980

Answers (3)

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>

Upvotes: 2

user2674996
user2674996

Reputation:

change datatype, try this

dataType: "json",

Upvotes: 2

Nilesh Thakkar
Nilesh Thakkar

Reputation: 2895

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.

Upvotes: 0

Related Questions