AJAX 如何得到这个值

panxunmiao1 2010-10-14 05:25:48
代码:在recommendation.aspx页面(我只发些关键性的代码

var User = document.getElementById("User").value;
var Pass = document.getElementById("pass").value;
var url="ajax.aspx?user="+User+"&pass="+Pass;
http_request.onreadystatechange=passUser;
http_request.open("get",url,false);

在ajax.aspx.cs页面
string User = Request.QueryString["user"];
string pass = Request.QueryString["pass"];

if (User == read[1].ToString() && pass == read[2].ToString()) //这里就是验证账号密码是否一致 如果正确 则输出数据库里面一个字段“DearName”
{
Response.Write("正确");
Response.Write("</br>");
Response.Write("<p id='dearName'>");
Response.Write(read[3].ToString()); //这里就是输出字段“DearName”的内容
Response.Write("</p>");
return;
}

在recommendation.aspx页面里的passUser方法里面
var code = http_request.responseText;
if(code=="正确")
{
document.getElementById("Dearname").value = ????; //问号是问题所在 这个是recommendation.aspx里面一个Input Text的控件,我想通过验证账号密码的正确性,如果正确则读取这个账号的 DdearName这个字段,并赋值;
}




各位大神,帮忙下,分不是很多,给20分,只要解决了,万分感谢!!!!!!
...全文
185 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yantao0515 2010-10-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 sandy945 的回复:]
引用 5 楼 panxunmiao1 的回复:
Sandy945 感谢你,不过你Response.Write("{\"status\":1,\"name\":\""+read[3].ToString()+"\"}");
这句话打错没,我在VS里面运行下好像不行,另外麻烦你说下原理好吗?


VS里不行? 原理是返回json
[/Quote]

字符串转JSON这句错了 前后要加括号
var code = eval(http_request.responseText);
应该是:var code=eval("("+http_request.responseText+")");
阿非 2010-10-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 panxunmiao1 的回复:]
Sandy945 感谢你,不过你Response.Write("{\"status\":1,\"name\":\""+read[3].ToString()+"\"}");
这句话打错没,我在VS里面运行下好像不行,另外麻烦你说下原理好吗?
[/Quote]

VS里不行? 原理是返回json
yantao0515 2010-10-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yantao0515 的回复:]
你返回的是文本,那就是:

JScript code
document.getElementById("Dearname").value =http_request.responseText;

如果是xml,是:

JScript code
http_request.reponseXML.Document
[/Quote]

刚看错了……
你这个可以在正确的情况下返回“用户名”,错误的情况返回“错误”就ok了
var code = http_request.responseText;
if(code!="错误")
{
document.getElementById("Dearname").value =code; }

朝钱奔 2010-10-15
  • 打赏
  • 举报
回复
用隐藏值就行
yantao0515 2010-10-15
  • 打赏
  • 举报
回复
你返回的是文本,那就是:
document.getElementById("Dearname").value =http_request.responseText;

如果是xml,是:
http_request.reponseXML.Document
panxunmiao1 2010-10-14
  • 打赏
  • 举报
回复
Sandy945 感谢你,不过你Response.Write("{\"status\":1,\"name\":\""+read[3].ToString()+"\"}");
这句话打错没,我在VS里面运行下好像不行,另外麻烦你说下原理好吗?
阿非 2010-10-14
  • 打赏
  • 举报
回复
var code = http_request.responseText;
if(code=="正确")
{
document.getElementById("Dearname").value = ????; //问号是问题所在 这个是recommendation.aspx里面一个Input Text的控件,我想通过验证账号密码的正确性,如果正确则读取这个账号的 DdearName这个字段,并赋值;
}

=>

var code = eval(http_request.responseText);
if(code&&code.status==1)
{
document.getElementById("Dearname").value = code.name;
}
阿非 2010-10-14
  • 打赏
  • 举报
回复
Response.Write("正确");
Response.Write("</br>");
Response.Write("<p id='dearName'>");
Response.Write(read[3].ToString()); //这里就是输出字段“DearName”的内容
Response.Write("</p>");

=>

Response.Write("{\"status\":1,\"name\":\""+read[3].ToString()+"\"}");
Response.End();
panxunmiao1 2010-10-14
  • 打赏
  • 举报
回复
不行 我document.getElementById("Dearname").value = ??要的是如何对这个Input Text的控件进行赋值,值已经返回,具体怎么运用不会
「已注销」 2010-10-14
  • 打赏
  • 举报
回复
如果你用的是服务器控件,控件ID在编译成HTML时被修改了,如果是html控件,那么就是ajax返回结果的问题

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧