我刚刚开始在asp.net中使用处理程序,我有一个问题。 我有PostRequestPage.aspx页面,结构如下:
<asp:Label ID="lblTest" Text="Enter request" runat="server"></asp:Label>
<br />
<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
<br />
<span id="error"></span>
<br />
<input type="button" id="btnSubmit" name="btnSubmit" value="Send" />
我使用像这样的ajax帖子将POST发送给处理程序:
$(document).ready(function () {
$('#btnSubmit').click(function() {
var txtEmail = '<%=txtEmail.ClientID%>';
$.ajax({
type: "POST",
url: "HandlerWithPOST.ashx",
data: $('#' + txtEmail).val(),
dataType:"json",
});
});
})
在处理程序中我得到了我的POST数据:
using (var reader = new StreamReader(context.Request.InputStream))
{
String requestFromPost = reader.ReadToEnd();
var result = JsonConvert.DeserializeObject<List<RootObject>>(requestFromPost);
}
然后我处理我的数据并获得我想要返回PostRequestPage.aspx页面的响应:
String jsonResult = JsonConvert.SerializeObject(new { result = results });
问题是如何在标签中显示我的jsonResult,例如?
答案 0 :(得分:0)
你可以像这样扩展你的ajax方法:
$.ajax({
type: "POST",
url: "HandlerWithPOST.ashx",
data: $('#' + txtEmail).val(),
dataType:"json",
success: function (data) {
// do some magic with your json data, like populating your label
}
});
看一下jQuery.ajax()api:http://api.jquery.com/jQuery.ajax/
答案 1 :(得分:0)
将数据写入响应尝试
context.Response.Write(jsonResult)
也在写集之前
context.Response.ContentType = "application/json";
答案 2 :(得分:0)
你可以在上下文中编写响应,它将在ajax命中的成功处理程序中可用,如下所示:
context.Response.Write(jsonResult)
$.ajax({
type: "POST",
url: "HandlerWithPOST.ashx",
data: $('#' + txtEmail).val(),
dataType:"json",
success: function (data) {
console.log("your data from handler is")
console.log(data ? data.d : null)
}
});
谢谢, Abhishek S。