前台:
window.onload = function () { $("#btnOk").click(function () { var txtname = $("#txtName").val(); $.get("WebForm1.aspx", { name: txtname }, success, "text"); }) function success(data) { alert(data) } }
后台:
string name=string.Empty; if (Request["name"] != null) { name = Request["name"].ToString(); } if (name == "123") Response.Write("his fathers borther"); else Response.Write("noook");
问题是,alert弹出的数据是整个页面,这是为什么呢?
因为你使用的是:.aspx。.aspx会把里面的html代码返回回来。。
ajax使用一般处理程序。.ashx
恩,的确是这样啊,那么用.aspx该如何返回数据呢?
@程序新青年: 那你删除.aspx里面的html代码看看。只留第一行那个声明。。。你试试看吧。
建议你还是使用:
一般处理程序。.ashx
Response.Clear(); string name=string.Empty; if (Request["name"] != null) { name = Request["name"].ToString(); } if (name == "123") Response.Write("his fathers borther"); else Response.Write("noook"); Response.End();
没用,呵呵
@程序新青年:
Response.Clear(); string name=string.Empty; if (Request["name"] != null) { name = Request["name"].ToString(); } if (name == "123") Response.Write("his fathers borther"); else Response.Write("noook");
Response.Flush(); Response.End();
@chenping2008:
用chrome开发者工具,看一下你的请求返回的数据
Response.End();
关键是这句,应该是有用的。 建议用作ajax请求的页面使用.ashx。
json一下返回 firefox和chrome都能调试!
aspx页面上的html代码全部去掉 或者用 ashx文件
json一下返回