admin管理员组文章数量:1244272
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
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
Share Improve this question edited Apr 21, 2013 at 5:58 ePezhman asked Nov 11, 2011 at 12:40 ePezhmanePezhman 4,0107 gold badges46 silver badges83 bronze badges 1- the function SignIn is in .asmx webservice? – tanathos Commented Nov 11, 2011 at 16:17
3 Answers
Reset to default 4Make the SignIn
method static and public and show alert with following code: alert(txt.d);
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./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/")]
[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.
Try this sample. I have passed the id from aspx to handler and just returned from there to show the server side data to aspx again
this is sample example .....
Handler code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace TestProject
{
/// <summary>
/// Summary description for TestHandler1
/// </summary>
public class TestHandler1 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string id = context.Request["id"];
context.Response.ContentType = "text/plain";
context.Response.Write(id);
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
and in aspx
<html xmlns="http://www.w3/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="http://ajax.googleapis./ajax/libs/jquery/1.4.2/jquery.min.js"></script>
</head>
<body>
<form id="form1" runat="server">
</form>
<script type="text/javascript">
$(function () {
$.ajax({
type: 'POST',
url: 'TestHandler.ashx?id='+ 1,
data: 'id=' + 1,
success: function (msg) {
alert(msg);
}
});
});
</script>
</body>
</html>
本文标签: cgetting jQuery Ajax return data in AspNetStack Overflow
版权声明:本文标题:c# - getting jQuery Ajax return data in Asp.Net - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1740200801a2240177.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论