Reputation: 51
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
Reputation: 9947
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
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