首页 新闻 搜索 专区 学院

Ajax的问题

0
悬赏园豆:5 [已解决问题] 解决于 2012-01-19 10:35

我在aspx页面中用ajax来请求页面,有个问题。就是我在后台输出数据的时候为什么一定要加上Response.End()的时候,异步对象才能获取到数据,如果不加这句话,就老是报错,说少了个";"分号。

前台页面1124-02-JQuery-getJson.aspx代码:
$(function () {
  $("#btnLogin").click(function () {
  $.getJSON("1124-02-JQuery-getJson.aspx?userName=" + $("#userName").val() + "&userPwd=" + $("#userPwd").val() + "&callback=?"+"&flag=1", function (data) {
  alert("服务器返回的结果为:" + data);
  $("#userName").val(data);
  });
  });
  });


后台页面1124-02-JQuery-getJson.aspx.cs代码:

string userName = Request.QueryString["userName"];
  string userPwd = Request.QueryString["userPwd"];
  string flag=Request.QueryString["flag"];
  if (!string.IsNullOrEmpty(flag))
  {
  if (userName == "linjie" && userPwd == "123")
  {
  string fun = (Request.QueryString["callback"]);
  Response.Write(fun + "('登录成功!')");
  Response.End();
  }
  }
注意看我后台页面加黑的那句话。也就是我必须要加上这句话,前台页面才能alert()到输出的数据,如果不加上加黑的这句Response.End()这句话,前台页面就会报错,说缺少分号";"

这个问题我有点迷糊呢。如果不加Response.End这句话,它不是在Response.Write输出数据后也输出html页面字符串吗,这个应该不受影响才对啊,我并没有输出要实行的javaScript代码字符啊

ljcheibao的主页 ljcheibao | 初学一级 | 园豆:132
提问于:2011-12-04 10:04
< >
分享
最佳答案
0

那是因为你后台请求的页面是aspx页面。如果不加 Response.End(); 的话。他的后面会添加html字符串。所以报这个错误。

收获园豆:5
小小刀 | 小虾三级 |园豆:1991 | 2011-12-04 11:03

是的,谢谢你啦。刚开始没注意着。

ljcheibao | 园豆:132 (初学一级) | 2011-12-04 11:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册