纯js异步无刷新请求

下载地址:http://pan.baidu.com/s/1slakL1F

所以因为非IE浏览器都禁止跨域请求,所以以只支持IE.

<HTML>
<!-- 乱码(未实践是否有用) http://blog.csdn.net/myfuturein/article/details/6603500 -->
<HEAD>
<!-- meta 解释 : http://www.haorooms.com/post/html_meta_ds -->
<meta http-equiv="content-Type"content="text/html;charset=gbk">
<meta name="author" content="king">
<style>
*{ margin:2;padding:0;}
.top{background:#5DF5FD; height:20px; position:fixed; z-index:8000;width:100%}
.width99{width:99%;padding:0;}
.trigger{background:red}
</style> <TITLE>纯js异步无刷新请求</TITLE> <script type="text/javascript">
var xmlHttpRequest;
//XmlHttpRequest对象
function createXmlHttpRequest(){
if(window.ActiveXObject){ //如果是IE
return new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){ //非IE浏览器
return new XMLHttpRequest();
}
}
function sendRequest(){
//发送前改变下按钮颜色
var btn = document.getElementById("sendButton");
btn.setAttribute('class','trigger'); // "http://localhost:8080/httpserver?a=2"; var url = document.getElementById("url").value;
//1.创建XMLHttpRequest组建
xmlHttpRequest = createXmlHttpRequest(); //2.设置回调函数
xmlHttpRequest.onreadystatechange = callbackFunc; //3.初始化XMLHttpRequest组建
xmlHttpRequest.open("post",url,true); //4.发送请求
var requestXml = document.getElementById("requestData").innerText;
xmlHttpRequest.send(requestXml); //发送后,过1秒还原按钮颜色
setTimeout("document.getElementById('sendButton').removeAttribute('class')",1000);
}
//回调函数
function callbackFunc(){
if(xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200){
var response = xmlHttpRequest.responseText;
document.getElementById("responseData").innerText=response;
}
} //enter键按下
function KeyDown()
{
if (event.keyCode == 13){
event.returnValue=false;
event.cancel = true;
sendRequest();//或者触发document.getElementById("sendButton").click(); //调用请求按钮的单击事件
}
} </script>
</HEAD>
<BODY>
<nav class="" ><span></span></nav><br/><br/> <div>
<input id="url" type="text" value="http://localhost:8080/httpserver?a=2" class="width99" style="font-size:17px" title="请求地址,Enter触发请求" onkeydown="KeyDown()"/>
</div>
<div style="float: left ;width: 42%">
<textarea id="requestData" class="width99" rows="30" title="请求报文" ></textarea> </div>
<div style="float: left;width: 56%">
<button id="sendButton" onclick="sendRequest()" onkeydown="KeyDown()" title="Enter触发请求" ><font size="5">单击此按钮请求(或聚集于地址栏按Enter请求)</font></button>
<textarea id="responseData" class="width99" rows="30" title="返回报文"></textarea>
</div> </BODY>
</HTML>

扩展 添加额外快捷键 (热键)js方法

以下转自:js事件绑定快捷键以ctrl+k为例

<html>
<head>
<script type="text/javascript">
window.onload = function() {
HotKeyHandler.Init();
} var HotKeyHandler = {
currentMainKey : null,
currentValueKey : null,
Init : function() {
HotKeyHandler.Register(0, "K", function() {
alert("注册成功");
});
},
Register : function(tag, value, func) {
var MainKey = "";
switch (tag) {
case 0:
MainKey = 17; //Ctrl
break;
case 1:
MainKey = 16; //Shift
break;
case 2:
MainKey = "18"; //Alt
break;
}
document.onkeyup = function(e) {
HotKeyHandler.currentMainKey = null;
} document.onkeydown = function(event) {
//获取键值
var keyCode = event.keyCode;
var keyValue = String.fromCharCode(event.keyCode); if (HotKeyHandler.currentMainKey != null) {
if (keyValue == value) {
HotKeyHandler.currentMainKey = null;
if (func != null)
func();
}
}
if (keyCode == MainKey)
HotKeyHandler.currentMainKey = keyCode;
}
}
}
</script>
</head>
<body>测试,按下ctrl+k你就会发现神奇的事情发生了
</body>
</html>

纯js异步无刷新请求(只支持IE)【原】的更多相关文章

  1. 纯js异步无刷新请求(只支持IE)

    纯js异步无刷新请求 下载地址:http://pan.baidu.com/s/1slakL1F 所以因为非IE浏览器都禁止跨域请求,所以以只支持IE. <HTML> <!-- 乱码( ...

  2. Asp.net页面无刷新请求实现

    Asp.net页面无刷新请求实现 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind=&qu ...

  3. ASP.NET MVC 使用Uploadify实现多文件异步无刷新上传

    软件技术开发,合作请联系QQ:858-048-581 这里我通过使用uploadify组件来实现异步无刷新多文件上传功能. 1.首先下载组件包uploadify,我这里使用的版本是3.1 2.下载后解 ...

  4. js实现无刷新表单提交文件,将ajax请求转换为form请求方法

    最近在做项目的时候遇到一个需要上传文件的需求,因为ajax请求是无法上传二进制文件流的,所以只能用form表单提交,而form提交有一个问题就是会使页面刷新,本文解决了form表单提交文件时页面刷新的 ...

  5. ajaxFileUpload.js 无刷新上传图片,支持多个参数同时上传,支持 ie6-ie10

    /* 131108-xxj-ajaxFileUpload.js 无刷新上传图片 jquery 插件,支持 ie6-ie10 依赖:jquery-1.6.1.min.js 主方法:ajaxFileUpl ...

  6. history.js 一个无刷新就可改变浏览器栏地址的插件(不依赖jquery)

    示例: http://browserstate.github.io/history.js/demo/     简介   HTML4有一些对浏览历史的前进后退API的支持如:   window.hist ...

  7. js实现无刷新上传

    在新增数据项的时候,用ajax实现无刷新提交,但上传文件的时候,由于数据类型原因,不能将页面的<asp:FileUpload>中以字符串值的方式传到js里调用.我一共找到了两个方法予以解决 ...

  8. knockout Ajax异步无刷新分页 Demo +mvc+bootstrap

    最近工作中web客户端需要用到knockout,在此记录下一些Demo,以后用到的时候查找起来方便.也希望给新入门的knockout使用者一点经验.knockout官方文档.这儿是一个使用knocko ...

  9. js写的复制功能,只支持IE

    如果用js写,只能支持IE,如果想全支持,需要用jQuery的插件:jquery.zclip.js 下面是用js写的: var copyHref = function(){               ...

随机推荐

  1. JSP中properties文件的路径问题

    做练习的时候,写了个properties文件,放在src/servlet/目录下,访问文件问题花了点时间折腾,最终得到解决,记下. 环境:eclipse jee oxygen,tomcat 9.0. ...

  2. Notepad++ 大小写转换

    code_field_text 普通文本 code_field_user_id 用户ID code_field_customer_id 客户ID code_field_dict 数据字典 code_f ...

  3. [转帖]龙芯下一代处理器微结构GS464E细节曝光

    龙芯下一代处理器微结构GS464E细节曝光 [日期:2015-05-26] 来源:Linux公社  作者:Linux [字体:大 中 小] http://www.linuxidc.com/Linux/ ...

  4. [读书笔记]Linux命令行与shell编程读书笔记03 文件系统等

    1. 文件系统的种类 ext ext2 ext3 ext4 JFS XFS 其中ext3 开始支持journal日志模式 与raid卡类似 有 数据模式  排序模式 以及回写模式 数据模式最安全 回写 ...

  5. mysql 数据表备份导出,恢复导入操作实践

    因为经常跑脚本的关系, 每次跑完数据之后,相关的测试服数据库表的数据都被跑乱了,重新跑脚本恢复回来速度也不快,所以尝试在跑脚本之前直接备份该表,然后跑完数据之后恢复的方式,应该会方便一点.所以实践一波 ...

  6. Delphi动态添加菜单

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  7. c-lodop云打印实现手机打印 JS语句打印

    Lodop和c-lodop目前只能安装到windows操作系统上,但是其他操作系统可通过向C-Lodop安装的电脑发送打印任务,实现手机广域网或局域网打印,打印语句也是简单的JS语句,可以轻松实现云打 ...

  8. codeforces625C

    K-special Tables CodeForces - 625C 人们经常做一些疯狂的事来凸显自己.有的人跳舞,有的人撩妹,有的人立志成为顶级程序猿(例如某peng),还有的人喜欢收集有趣的数学对 ...

  9. BZOJ1805[Ioi2007]Sail船帆——线段树+贪心

    题目描述 让我们来建造一艘新的海盗船.船上有 N个旗杆,每根旗杆被分成单位长度的小节.旗杆的长度等于它被分成的小节的数目.每根旗杆上会挂一些帆,每张帆正好占据旗杆上的一个小节.在一根旗杆上的帆可以任意 ...

  10. BZOJ2135 刷题计划(贪心+二分)

    相邻数作差后容易转化成将这些数最多再切m刀能获得的最小偏差值.大胆猜想化一波式子可以发现将一个数平均分是最优的.并且划分次数越多能获得的偏差值增量越小.那么就可以贪心了:将所有差扔进堆里,每次取出增量 ...