手写JS 实现AJAX功能~~~~

srobot2 2009-02-23 11:00:45
朋友们,谁能给我写个 JS 脚本版本的 实现AJAX功能的 代码?
比如说 POST 传参到 ASPX 的文件上,怎样查完数据返回回去?我不清楚,还请各位帮帮忙!
...全文
537 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
sean20032000 2010-09-16
  • 打赏
  • 举报
回复
都不错哦,好久没用了,记下看看
taobao755624068 2009-06-30
  • 打赏
  • 举报
回复
不错不错,值得一看。呵呵,灌水
kuanghongling 2009-04-30
  • 打赏
  • 举报
回复
3楼的不错哟,学习学习!
jiashu912387 2009-02-24
  • 打赏
  • 举报
回复
6喽的不错 楼主给分吧!!
fx8023jo 2009-02-24
  • 打赏
  • 举报
回复
好像根据浏览器不同,代码页不应该想同吧。
wanghui0380 2009-02-24
  • 打赏
  • 举报
回复
整个jquery把,框架不大,到挺适用。

jquery

var res;
$.get("url?xxx=xx",function{value}{res=value}); //get方式提交
$.post("url",{xxx:"xx"},function(value){res=value}); //post方式,参数以{xxx:"xx"} json方式提交


推荐你是用jquery,呵呵,因为你页面上除了ajax以外,总免不了其他的特效,jquery这个轻量级的js框架,使用起来还是很方便的说
骨头G 2009-02-24
  • 打赏
  • 举报
回复
学习下
hiaspx 2009-02-24
  • 打赏
  • 举报
回复
cc318.com/aspnet/ 这个上有很多源码,你可以去下一个来研究一下.其实很简单.
jhdxhj 2009-02-24
  • 打赏
  • 举报
回复
做个记号哦
lfywy 2009-02-24
  • 打赏
  • 举报
回复
3楼6楼正解,7楼的定时不好,这样的定时,如果页面不关闭,永远都在操作着!
zjybushiren88888 2009-02-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lovehongyun 的回复:]
简单例子

HTML code
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm3.aspx.cs" Inherits="test1.WebForm3" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>

<script type="text/javascrip…
[/Quote]

可以
Heaven_feather 2009-02-24
  • 打赏
  • 举报
回复
...太..太牛了..我也学习学习..55
executemylove 2009-02-24
  • 打赏
  • 举报
回复
很简单的!楼上都已经给出答案了
分享大哥 2009-02-24
  • 打赏
  • 举报
回复
老简单的问题了,上面的都来抢分。
walkghost 2009-02-24
  • 打赏
  • 举报
回复
下面的代码能实现数字时钟的功能,不过这只是告诉你简单的ajax用POST请求的过程和方法,实际上做数字时钟用下面的太麻烦也太浪费资源。




<script language="javascript" type="text/javascript">
var xmlhttp;

function createXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
//alert("IE");
}
else if(window.XMLHttpRequst)
{
xmlhttp=new XMLHttpRequest();
}
}

function startRequest()
{
createXMLHttpRequest();
xmlhttp.onreadystatechange=handleStateChange;
xmlhttp.open("POST","Default3.aspx",true);//这个页面返回当前的时间日期,你把地址改成你要请求的地址就OK了
xmlhttp.send(null);
}

function handleStateChange()
{
var h=document.getElementById("sp1");
if(xmlhttp.readyState==4)
{
if(xmlhttp.status==200)
{

h.innerHTML=xmlhttp.responseText;
}
else if(xmlhttp.status==404)
{
h.innerHTML="<br>找不到请求的服务器资源!";
}
}
else if(xmlhttp.readyState==0)
{
h.innerHTML="<br>未初始化!";
}
else if(xmlhttp.readyState==1)
{
h.innerHTML="<br>正在加载^^^^^!";
}
else if(xmlhttp.readyState==2)
{
h.innerHTML="<br>已经加载完成!";
}
else if(xmlhttp.readyState==3)
{
h.innerHTML="<br>正在和服务器交互";
}



}

//这个函数每秒钟调用一次请求,以便每秒钟都更新时间。
function testService()
{
setInterval("startRequest();",1000);

}


</script>



lovehongyun 2009-02-24
  • 打赏
  • 举报
回复
简单例子

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm3.aspx.cs" Inherits="test1.WebForm3" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>

<script type="text/javascript" language ="javascript" >
var xmlHttp;
function createXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
function addNumber()
{
createXMLHttpRequest();
var url= "WebForm3.aspx?Name="+document.getElementById('name').value;

xmlHttp.open('GET',url,true);
xmlHttp.onreadystatechange=showResult;
xmlHttp.send(null);
}

function showResult()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
alert(xmlHttp.responseText);
document.getElementById('result').innerHTML =xmlHttp.responseText;
}
}
}
</script>


</head>
<body>
<form id="form1" runat="server">
<div>

<input id="name" type ="text" onchange ="addNumber();" />
<div id="result" > </div> 
<br />
<input id="pwd" type ="text" />
</div>
</form>
</body>
</html>




using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace test1
{
public partial class WebForm3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
send();
}

public void send()
{
if (Request["Name"] != null)
{
string result = GetName();
Response.Write(result);
Response.End();
}
}

public string GetName()
{
string Name = Request["Name"].ToString();
if (Name == "test")//测试
{
return "对不起,已有用户名,请重新试试";
}
else
{
return "恭喜你,此名称可用!";
}
}

}
}

bj890 2009-02-24
  • 打赏
  • 举报
回复
up
jl_lsj 2009-02-24
  • 打赏
  • 举报
回复
学习了
amandag 2009-02-24
  • 打赏
  • 举报
回复
register.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Register</title>
<script type="text/javascript">
//声明一个全局变量,用来保存XMLHttpRequest对象的引用(未初始化)
var xmlHttp = false;

//创建XMLHttpRequest对象函数
function GetXMLHttpRequest()
{
//如果是IE浏览器,这里不考虑其他浏览器了
else if(window.ActiveXObject)
{
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e2)
{
xmlHttp = false;
}
}
}
return xmlHttp;
}

//当用户名文本框失去输入焦点时响应
function checkUserName()
{
// 检查文本框是否有输入
var txtUserName = document.getElementById('txtUserName');
if (txtUserName.value == "")
return;

xmlHttp = GetXMLHttpRequest();
var postString = "UserName=" + txtUserName.value;
// 构造将XMLHttpRequest对象将请求的服务器端的URL字符串
var url = "CheckUserNamePost.aspx";
// 建立与服务器端的连接
xmlHttp.open("Post", url, false);
//如果Open方法定义为POST,可以定义表单方式上传
xmlHttp.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded" )
// 设置回调函数
xmlHttp.onreadystatechange = callBack_CheckUserName;
// 发送请求
xmlHttp.send(postString);
}

//处理响应
function callBack_CheckUserName()
{
var lblMessage = document.getElementById("lblMessage");
// 4代表服务器端执行完毕并已经成功返回
if (4 == xmlHttp.readyState)
{
if(200 == xmlHttp.status)
{
//通过responseText属性得到服务器端实际返回的文本
var isValid = xmlHttp.responseText;

//根据isValid的值决定lblNameMessage的显示内容
lblMessage.innerHTML = (isValid.toLowerCase() == "true") ? "用户名可用" : "用户名已被注册";
}
}
else
{
lblMessage.innerHTML = "数据查询中...";
}
}
</script>
</HEAD>
<body>
<form method="post" action="">
<div>
用户名:
<input type="text" id="txtUserName" name="txtUserName" onblur="return checkUserName();"/>
<span id="lblMessage"></span><br>
密    码:
<input type="password" id="txtPassword" name="txtPassword" /><br>
<input type="submit" id="btnRegister" name="btnRegister" value="注册" />
</div>
</form>
</body>
</html>


CheckUserNamePost.aspx.cs
public partial class CheckUserNamePost : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
// 得到用户选择的用户名
string username = Request.Form["UserName"];

// 模拟验证 实际应用中应查询数据库
bool isValid = false;
if (String.Compare(username, "amandag", true) != 0)
{
isValid = true;
}

// 发送验证结果
Response.ContentType = "text/html";
Response.Write(isValid.ToString());
Response.Flush();
Response.Close();
}
}
srobot2 2009-02-23
  • 打赏
  • 举报
回复
我不要使用 控件实现的功能,我要纯手写的。
加载更多回复(1)

62,073

社区成员

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

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

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

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