用JS实现AJAX

 

准备工作:新建网站,建立两个页面,index.aspx和backstage.aspx,

在工程目录下新建一个文件夹命名和image,在这里添加一个loading.gif,模拟提交进度

一,前台页面代码:在index.aspx中编写

1,在网页要显示数据的地方,添加一个DIV.源代码如下

<div id="showtext"></div>

2, 添加脚本程序,代码如下。

代码

<script language="javascript" type="text/javascript">

function GetTextFromBack() {
            document.getElementById('showtext').setAttribute("innerHTML", "<img src=\"image/loading.gif\" />载入中...");
            var xmlhttp;
            try {
                xmlhttp = new XMLHttpRequest();
            } catch (e) {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }

xmlhttp.onreadystatechange = function() {
                if ( == xmlhttp.readyState) {
                    if ( == xmlhttp.status) {
                        var Bodys = xmlhttp.responseText;
                        document.getElementById('showtext').setAttribute("innerHTML", Bodys);

// parent.document.all.iframemain.style.height = window.document.body.scrollHeight;
                       // parent.document.all.iframemain.style.width = window.document.body.scrollWidth;
                    }
                }
            }

xmlhttp.open("post", "backstage.aspx?name=" + "zhangfei", true);
            xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
            xmlhttp.send("");
            
        }

</script>

3,加入一个触发事件的按钮

  <input type="button" onclick="GetTextFromBack()" style="width: 77px" />

二,后台页面,backstage.aspx

1,清除backstage.aspx中的html的内容,除一第一行的源代码,如下所示

     <%@ Page Language="C#" AutoEventWireup="true" CodeFile="backstage.aspx.cs" Inherits="backstage" %>

只保存这一行,不然的话,后面发送的时候,会把其他代码都做为字符串发送回去。

2, 进行C#源程序编辑界面backstage.aspx.cs,添写如下代码

代码

 protected void Page_Load(object sender, EventArgs e)
    {
        string nameFormat = Request.Params["name"];

nameFormat = "你的名字是:"+nameFormat;

Response.Write(nameFormat);
    }

到此就可以模拟出AJAX功能了。

可以以此程序为模板,后台拼写字符串,以实现复杂的操作。

注: 以下这条代码的意思是,是重载onreadystatechange方法,

xmlhttp.onreadystatechange = function() {
                  ......
             }

类似的可以,重写

window.onload = function()
{
 parent.document.all.pzright.style.height=window.document.body.scrollHeight;
 parent.document.all.pzright.style.width=window.document.body.scrollWidth;
}

可以利用原有的函数,实现在自已特定的功能。

用JS实现AJAX的更多相关文章

  1. Vue.js——基于$.ajax实现数据的跨域增删查改

    概述 之前我们学习了Vue.js的一些基础知识,以及如何开发一个组件,然而那些示例的数据都是local的.在实际的应用中,几乎90%的数据是来源于服务端的,前端和服务端之间的数据交互一般是通过ajax ...

  2. Jquery学习笔记 --ajax删除用户,使用了js原生ajax

    主要复习了php的pdo数据库操作,和js的ajax,真麻烦,希望jquery的ajax简单点. index.php: 1 <!DOCTYPE html> 2 <html lang= ...

  3. 分享一个基于长连接+长轮询+原生的JS及AJAX实现的多人在线即时交流聊天室

    实现网页版的在线聊天室的方法有很多,在没有来到HTML5之前,常见的有:定时轮询.长连接+长轮询.基于第三方插件(如FLASH的Socket),而如果是HTML5,则比较简单,可以直接使用WebSoc ...

  4. 原生js实现Ajax

    一般来说,大家可能都会习惯用JQuery提供的Ajax方法,但是用原生的js怎么去实现Ajax方法呢? JQuery提供的Ajax方法: $.ajax({ url: , type: '', dataT ...

  5. 浅谈JS之AJAX

    0x00:什么是Ajax? Ajax是Asynchronous Javascript And Xml 的缩写(异步javascript及xml),Ajax是使用javascript在浏览器后台操作HT ...

  6. Atitit   发帖机实现(3 )---usrQBN023 js提交ajax内容到后端规范与标准化

    Atitit   发帖机实现(3 )---usrQBN023 js提交ajax内容到后端规范与标准化 大段内容务必要替换转义换行符号1 提交务必使用utf编码,否则解码后的可能缺失,是web serv ...

  7. prototype.js 和 jQuery.js中 ajax 的使用

    这次还是prototype.js 和 jQuery.js冲突的问题,前面说到过解决办法http://www.cnblogs.com/Joanna-Yan/p/4836252.html,以及上网说的大部 ...

  8. Intercooler.js – 让 AJAX 像锚标签一样简单

    使用 Intercooler,你可以添加 Ajax 到你的应用程序,而无需使用客户端模式的路由,认证,渲染,工厂或依赖注入.事实上,你不需要写任何的 JavaScript 代码.Intercooler ...

  9. 使用原生JS封装Ajax

    使用原生 的JS封装 Ajax,实现 仿JQuery的Ajax,post,get三种异步请求方式: var MAjax = { //根据浏览器创建异步对象 createXhr: function () ...

  10. JS实现Ajax,Josn数据的序列化和反序列化---例: 省市区联动(包含get,post)

    服务器端相应JOSN数据   用到序列化和反序列化----命名空间using System.Web.Script.Serialization; public void ProcessRequest(H ...

随机推荐

  1. ios开发UI篇—在ImageView中添加按钮以及Tag的参数说明

    ios开发UI篇—在ImageView中添加按钮以及Tag的参数说明 一.tag参数 一个视图通常都只有一个父视图,多个子视图,在开发中可以通过使用子视图的tag来取出对应的子视图.方法为Viewwi ...

  2. bzoj1260

    很容易脑补出来的区间dp O(n3)的 var f:array[0..51,0..51] of longint;    i,n,j,l,k:longint;    s:string; function ...

  3. BZOJ2083: [Poi2010]Intelligence test

    2083: [Poi2010]Intelligence test Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 241  Solved: 96[Sub ...

  4. Linux Shell编程(27)——子shell

    运行一个shell脚本时会启动另一个命令解释器. 就好像你的命令是在命令行提示下被解释的一样, 类似于批处理文件里的一系列命令.每个shell脚本有效地运行在父shell(parent shell)的 ...

  5. JS、C#编码解码

    escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@ ...

  6. 全面理解Java异常的运行机制

    1. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单.听话. ...

  7. QT静态链接

    想把QT的程序链接成一个独立的EXE以方便使用,查了很多资料都需要自行编译QT. 搜索了很多的资料,发篇写得比较简明一些:http://my.oschina.net/weiweiqiao/blog/2 ...

  8. 一个awk命令的demo

    /prefix_* | awk -F'\x3' '{print $2}' | awk -F'\x2' '{for(i=0; i<NF; i++)print $i}'> ~/20140819 ...

  9. 如何高性能的给UIImageView加个圆角?(不准说layer.cornerRadius!)

    豆电雨 搬砖自味精:http://awhisper.github.io/2016/03/12/滚动圆角卡顿刨根问底/ 使用Quartz2D直接绘制图片 步骤:  a.创建目标大小(cropWidth, ...

  10. Java多线程实现简单的售票程序

    设计一个多线程程序如下:设计一个火车售票模拟程序.假如火车站要有100张火车票要卖出,现在有5个售票点同时售票,用5个线程模拟这5个售票点的售票情况 1.要求打印出每个售票点所卖出的票号 2.各售票点 ...