Wednesday, June 5, 2024
Homepage · c#
 Popular · Latest · Hot · Upcoming
191
rated 0 times [  197] [ 6]  / answers: 1 / hits: 24065  / 13 Years ago, fri, november 11, 2011, 12:00:00

I'm a newbie in jQuery and don't understand how in jQuery Ajax returns data. I have some simple function to get some data like below



[WebMethod(EnableSession = false)]
protected int SignIn()
{
return 0;
}


and in my .aspx page I have this



$(document).ready(function () {
$(#si).click(function
() {
$.ajax({
type: POST,
url: SignIn.aspx/SignIn,
contentType: application/json,
success: function (txt) {
alert(txt);
}
});
});
});


but in alert I get the whole SignIn.aspx (all html tags and so on). how to alert the 0 which the SignIn() returns?thanks


More From » c#

 Answers
18

You are asking an ASPX file for data and I think that should be an ASMX.



Check out Dave Ward's post where I leaned about all this: http://encosia.com/asp-net-web-services-mistake-manual-json-serialization/



The simplest example I could make looks like this:



Add a Web Service (ASMX) containing



using System.Web.Services;

[WebService(Namespace = http://tempuri.org/)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService {
[WebMethod]
public int Status(int input) {
return input + 1;
}
}


Then in your HTML do



<html>
<head>
<title>Test</title>
<script src=jquery-1.6.2.min.js ></script>
</head>
<body>
<script>
$(function () {
$.ajax({
url: 'WebService.asmx/Status',
data: '{ input: 0 }',
type: 'POST',
dataType: 'json',
contentType: 'application/json',
success: function (data, status) {
alert(data);
alert(typeof data);
}
});
});
</script>
</body>
</html>


In the ajax call the string defined in data is the input to the web method. Names must match. In the success callback, the first alert shows the value returned (input plus one) and the second alert shows that it is a number, not a string. Because the datatype is set to JSON, the web method returns JSON allowing the data to be typed correctly.



Hope this helps.


[#89181] Thursday, November 10, 2011, 13 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
jillalanisg

Total Points: 484
Total Questions: 98
Total Answers: 89

Location: Vanuatu
Member since Wed, Oct 14, 2020
4 Years ago
;