我用JavaScript实现ajax,为什么不成功啊

yalunwang123 2015-01-24 03:34:21

我在webform2.aspx用ajax向webform1发送请求,目前情况是这样的,用vs调试时 ,用户名和密码能跳到webform1里,;
用firebug在火狐里面是执行调试时,也能检测到req.readState == 4 req.status == 200啊,但就是为什么document.getElementById("display").innerHTML = req.responseText;
alert("你好,ajax");没执行呢?大家帮忙看看呗。


<script type="text/javascript">
var req;
function creatReq()
{
var userName = document.getElementById("txtUser").value;
var pwd = document.getElementById("txtPWD").value;
var url = "WebForm1.aspx?userName=" + userName + "&pwd=" + pwd;
req = new XMLHttpRequest();
if (req) {
req.open("GET", url, true);
req.onreadystatechange = function () {
if (req.readState == 4 && req.status == 200) {

// if (((String)(req.responseText)).substr(0, 4) == true)
document.getElementById("display").innerHTML = req.responseText;
alert("你好,ajax");

}


}


req.send(null);
}

}



function judge()
{ creatReq(); }

 <input id="Hidden1" type="hidden" />
<span id="Label1">用户名</span>
:<input name="txtUser" type="text" id="txtUser" />
<br />
<span id="Label2">密码:</span>
<input name="txtPWD" type="text" id="txtPWD" />
<br />
<input id="btnLogin" type="button" value="登录" onclick="judge()" />
<span id="display">11111</span>


服务webform1.aspx代码:
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string nam = Request.QueryString["txtUser"].ToString();

string pwd = Request.QueryString["txtPWD"].ToString();

if (nam=="yalunwang"&&pwd=="123")
{
Response.Write("HELLO,AJAX");


}
}
...全文
302 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yalunwang123 2015-01-27
  • 打赏
  • 举报
回复
引用 12 楼 S314324153 的回复:
引用 9 楼 yalunwang123 的回复:
[quote=引用 7 楼 S314324153 的回复:] 调式的时候最好把,浏览器的禁止调式的选项去掉,很多时候js都是少个字符多个字符之类的
什么方法可以避免这种问题
浏览器的选项里有个"禁用脚本调式",把这个点掉就是,只在调式程序时这样用哦,不调试的时候还是点上[/quote]谢谢,有些错误可以检测出来,有些不能,还不错吧
S314324153 2015-01-26
  • 打赏
  • 举报
回复
调式的时候最好把,浏览器的禁止调式的选项去掉,很多时候js都是少个字符多个字符之类的
myhope88 2015-01-26
  • 打赏
  • 举报
回复
用jquery比较方便吧,这个写比较麻烦
S314324153 2015-01-26
  • 打赏
  • 举报
回复
引用 9 楼 yalunwang123 的回复:
引用 7 楼 S314324153 的回复:
调式的时候最好把,浏览器的禁止调式的选项去掉,很多时候js都是少个字符多个字符之类的
什么方法可以避免这种问题
浏览器的选项里有个"禁用脚本调式",把这个点掉就是,只在调式程序时这样用哦,不调试的时候还是点上
-烟花雨季 2015-01-26
  • 打赏
  • 举报
回复
yalunwang123 2015-01-26
  • 打赏
  • 举报
回复
正在研究jquery
yalunwang123 2015-01-26
  • 打赏
  • 举报
回复
引用 7 楼 S314324153 的回复:
调式的时候最好把,浏览器的禁止调式的选项去掉,很多时候js都是少个字符多个字符之类的
什么方法可以避免这种问题
yalunwang123 2015-01-26
  • 打赏
  • 举报
回复
引用 2 楼 tcmakebest 的回复:
JS取不存在的属性不报错,而是反回 undefined , 误导了.
是的,用firebug调试时,突然看见这个属性是 undefined ,才发现错误所在
moonwrite 2015-01-25
  • 打赏
  • 举报
回复
学jQuery 用jQuery吧
EdsionWang 2015-01-25
  • 打赏
  • 举报
回复

   var url = "WebForm1.aspx?userName=" + userName + "&pwd=" + pwd;
传进去的参数是userName和pwd。而你接收的时候,却使用了QuerString["txtUser"]和QueryString["txtPWD"]。 直接将WebForm1_Load里面的代码改成

  string nam = Request.QueryString["userName"].ToString();
     
 string pwd = Request.QueryString["pwd"].ToString();
  • 打赏
  • 举报
回复
js这种动态、诡异的东西,即使是使用javasc编程5年的程序员,也会整天都现在这种“低级坑”之中。 所以我们不直接使用js,我们使用Saltarall 或者 TypeScript 这类强类型、编译性的高级语言,它们自动生成 js 文件。基本上不允许程序员直接写 javascript 代码。
tcmakebest 2015-01-24
  • 打赏
  • 举报
回复
JS取不存在的属性不报错,而是反回 undefined , 误导了.
yalunwang123 2015-01-24
  • 打赏
  • 举报
回复
啥也不说了,我少写了一个字母,
 if (req.readState == 4 && req.status == 200) {
中应该是req.readyState少写了一个y。现在已经成功了

62,041

社区成员

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

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

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

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