`
holoblog
  • 浏览: 1217917 次
博客专栏
E0fcf0b7-6756-3051-9a54-90b4324c9940
SQL Server 20...
浏览量:18784
文章分类
社区版块
存档分类
最新评论

ajax javascript post 方法实现(与C#混合使用)

 
阅读更多

先建一个JS文件命名为Ajax.js


functionCreateXMLHttpRequest()//这里是构造XMLHttpRequest对象的方法
...{
varxmlHttpRequest=null;//这里是大家都常用的IE,firefox中取得XMLHttpRequest对象的方法
try
...{

xmlHttpRequest
=newXMLHttpRequest();
}

catch(e)
...{
try
...{
xmlHttpRequest
=newActiveXObject("Msxml2.XMLHTTP");
}

catch(e)
...{
xmlHttp
=newActiveXObject("Microsoft.XMLHTTP");

}

}


returnxmlHttpRequest;
}


functionAjaxSubmit(url,data,changeFunction)//url指定跳转页,data是要post的数据。changeFunction类似于函数指针
...{
varxmlHttpResquest=CreateXMLHttpRequest();
xmlHttpResquest.open(
"post",url,true);
xmlHttpResquest.setRequestHeader(
"content-length",data.length);
xmlHttpResquest.setRequestHeader(
"Content-Type","application/x-www-form-urlencoded");
xmlHttpResquest.send(data);

xmlHttpResquest.onreadystatechange
=function()
...{
if(xmlHttpResquest.readyState==4)
...{
try
...{
if(xmlHttpResquest.status==200)
...{
alert(xmlHttpResquest.responseText);
changeFunction(xmlHttpResquest.responseText);//这里可以调用想要的函数
}

}

catch(e)
...{
alert(
"over");
}

}

}


}

比如我有一个页面叫Start.html或者Start.aspx

<head>
<title>UntitledPage</title>
<scripttype="text/javascript"src="Ajax.js"></script>
</head>
<body>
<scriptlanguage="javascript"type="text/javascript">
AjaxSubmit(
"Ajax.aspx","nodesInfoTxt=hh",InitForAjax);
//Ajax.aspx是接受数据的页面,InitForAjax是本页面接受到回发数据后要执行的函数。其他的为数据。
functionInitForAjax(str)
...{
alert(str);
}

</script>
</body>

一般.net生成的aspx页面是这样写的

<%...@PageLanguage="C#"AutoEventWireup="true"CodeFile="Ajax.aspx.cs"Inherits="Ajax"%>

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">

</head>
<body>
<formid="form1"runat="server">
<div>

</div>
</form>
</body>


</html>

下面为了回传数据仅仅是数据而不是连同整个页面一起发送过来。

在Ajax.aspx页面这样这样写(这一句就足够了)

<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Ajax.aspx.cs"Inherits="Ajax"%>

然后在它的后置类也就是Ajax.aspx.cs中这样写:

//前面省略一些代码生成的东西
protectedvoidPage_Load(objectsender,EventArgse)
...{
if(Request.Form["nodesInfoTxt"]!=null)
stringnodes=Request.Form["nodesInfoTxt"].ToString();
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "text/xml";
Response.write("bye");
}

你在本函数结束处设一个断点,是否nodes就已经被赋值了呢?然后继续执行你的页面就会跳出一个bye的提示框。这就是Ajax异步传输。

分享到:
评论

相关推荐

    ajax+c#无刷新分页

    ajax+c# 无刷新分页,推荐 &lt;script type="text/javascript"&gt; var orderby=""; $().ready(function() { InitData(0); $("#pageTheme").change(function(){ $("#Pagination").attr('class',$(this).val()...

    在AJAXPOST中实现防伪令牌

    这是为了在MVC应用程序中使用Ajax发布实现防伪令牌

    探讨jQuery的ajax使用场景(c#)

    使用这个方法可以获得更多的灵活性。 数据类型$.ajax()函数依赖服务器提供的信息来处理返回的数据。通过dataType选项还可以指定其他不同数据处理方式。其中,text和xml类型返回的数据不会经过处理。如果指定为html...

    如何在ASP.NET MVC中使用Ajax创建和下载文件

    在ASP.NET MVC中使用Ajax调用创建和下载文件

    Ajax.Dll各个版本无刷新组件

    以上三种是我收集到的一些AJAX的实现方法,我要讲的是第一种方法的应用,因为第一种能叫你明白AJAX的运行原理,比较适合初学者。 我主要讲Ajaxpro,这是个组件,必须去网上下载,其实就是一个Ajaxpro.dll文件,注意...

    HTTP Programming Recipes for C# Bots

    Learn about advanced topics that complicate the life of a bot, such as AJAX and Javascript. Also learn about the ethical use of bots, and when bots should not be used. This book also introduces the ...

    在Js页面通过POST传递参数跳转到新页面详解

    客户端请求头缓冲区大小,如果请求头总长度大于小于128k,则使用此缓冲区 client_header_buffer_size 128k; 请求头总长度大于128k时使用 large_client_header_buffers 设置的缓存区 large_client_header_

    jQuery权威指南-源代码

    其次详细讲解了jQuery的各种选择器、jQuery操作DOM的方法、jQuery中的事件与应用、jQuery中的动画和特效、Ajax在jQuery中的应用,以及各种常用的jQuery插件的使用方法和技巧,所有这些知识点都配有完整的示例(包括...

    亮剑.NET深入体验与实战精要3

    操作与使用技巧 61 1.6.4 常见开发调试技巧 66 1.6.5 错误异常处理方法 70 本章常见技术面试题 76 常见面试技巧之面试前的准备 76 本章小结 77 第2章 细节决定成败 79 2.1 Equals()和运算符==的区别 80 2.2 const和...

    亮剑.NET深入体验与实战精要2

    操作与使用技巧 61 1.6.4 常见开发调试技巧 66 1.6.5 错误异常处理方法 70 本章常见技术面试题 76 常见面试技巧之面试前的准备 76 本章小结 77 第2章 细节决定成败 79 2.1 Equals()和运算符==的区别 80 2.2 const和...

    .NET中实现客户端联动菜单 (无刷新)

    Ajax实现无刷新三联动下拉框 1.html代码 &lt;title&gt;Ajax实现无刷新三联动下拉框 &lt;meta content="C#" name="CODE_LANGUAGE"&gt; &lt;meta content="JavaScript" name="vs_defaultClientScript"&gt; ...

    NET公共类库[转发]

    客户端代码功能类 JScript.cs 提供向页面输出客户端代码实现特殊功能的方法 客户端代码精简类 JavaScriptMinifier.cs 转换原始Js内容的精简版本 HTML格式辅助类 HtmlUtils.cs 处理HTML,脚本的特殊字符或过滤 数据...

    ASP.NET MVC结合JavaScript登录、校验和加密

    最近闲来无事给自己写了家庭财务收支管理系统,也就包含支出管理,收入管理和一些统计功能。 先说登录模块,因为涉及GET和POST请求,这些东西都是能被监控和抓取的所以就考虑这使用RSA加密解密方式传输... $.ajax

    Asp.Net无刷新分页( jquery.pagination.js)

    采用Jquery无刷新分页插件jquery.pagination.js 实现无刷新分页效果 页面内容: &lt;%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"%&gt; &lt;!DOCTYPE ...

Global site tag (gtag.js) - Google Analytics