标签:了解 child 输入 request对象 eve xxx 输出 提交 row
Ajax用于概括异步加载页面内容的技术。以前web应用都要涉及打量页面刷新,即使页面中的一小部分有变化,也要刷新和重新加载整个页面。使用Ajax可以做到只更新页面中的一小部分,主要优势在于对页面的请求以异步方式发送到服务器。而服务器不会用整个页面来相应请求,它会在后台处理请求,与此同时用户还能继续浏览页面并与页面交互。你的脚本则可以按需加载和创建页面内容,而不会打断用户的浏览体验。利用Ajax,Web应用可以呈现出功能丰富,交互敏捷,类似桌面应用般的体验。
try { //可能会导致错误的代码 } catch (error) { //在错误发生时怎么处理 }
function getHTTPObject() { if (typeof XMLHttpRequest == "undefined") XMLHttpRequest = function () { try {return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch (e) {} try {return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch (e) {} try {return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {} return false; } return new XMLHttpRequest(); }
var url = "login.jsp?user=XXX&pwd=XXX"; xmlHttpRequest.open("GET",url,true); xmlHttpRequset.send(null);
此外,也可以使用send方法传递参数。使用send方法传递参数使用的是POST方法,需要设定Content-Type头信息,模拟HTTP POST方法发送一个表单,这样服务器才会知道如何处理上传的内容。参数的提交格式和GET方法中url的写法一样。设置头信息前必须先调用open方法。
xmlHttpRequest.open("POST","login.jsp",true); xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); xmlHttpRequest.send("user="+username+"&pwd="+password);
第二个脚本用来获取内容
function getNewContent() { var request = getHTTPObject(); if (request) { request.open("GET", "example.txt", true); request.onreadystatechange = function () { if (request.readyState == 4) { var para = document.createElement("p"); var txt = document.createTextNode(request.responseText); para.appendChild(txt); document.getElementById(‘new‘).appendChild(para); } }; request.send(null); } else { alert("Sorry, your browser doesn‘t support XMLHttpRequest"); } } addLoadEvent(getNewContent);
其中addLoadEvent是自己编写的加载函数
function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != ‘function‘){ window.onload = func; }else { window.onload = function () { oldonload(); func(); } } }
这样,将以上两个js脚本插入含有id为new的div节点的html页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Ajax</title> </head> <body> <div id="new"></div> <script src="script/addLoadEvent.js"></script> <script src="script/getNewContent.js"></script> <script src="script/getHTTPObject.js"></script> </body> </html>
就完成了一次简单的Ajax请求
标签:了解 child 输入 request对象 eve xxx 输出 提交 row
原文地址:https://www.cnblogs.com/wxylyw/p/9433009.html