ajax (异步JavaScript和XML) = 异步XMLHttpRequest(js内置对象) + js + xml (现在流行的是json)就是使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。 操作中使用js,建立一个XMLHttpRequest对象,发送一个url和别的参数,对返回数据(xml or html or json or text) 进行进一步处理。
<!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> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>ajax实例</title><script> var xmlHttpfunction showHint(str) { if (str.length > 0)// 如有字符被输入文字输入区(str.length>0)函数就执行 { var url="gethint.asp?sid="+Math.random()+"&q="+str; xmlHttp=GetXmlHttpObject(stateChanged);// 建立一个XMLHTTP对象 xmlHttp.open("GET", url , true)// 发送一个HTTP请求到服务器上的"gethint.asp"上 xmlHttp.send(null) // 如需将请求发送到服务器,我们使用 xmlHttp 对象的 open() 和 send() 方法: // open(method,url,async) // 规定请求的类型、URL 以及是否异步处理请求。 // method:请求的类型;GET 或 POST // url:文件在服务器上的位置 // async:true(异步)或 false(同步) // 与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。 // 然而,在以下情况中,请使用 POST 请求: // 无法使用缓存文件(更新服务器上的文件或数据库) // 向服务器发送大量数据(POST 没有数据量限制) // 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠 } else { document.getElementById("txtHint").innerHTML="" } } // 当HTTP触发一次变动则XMLHTTP对象就会执行stateChanged()函数 function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { // 当状态改变为4(或为"完成")txtHint span里就会显示反馈的文字 document.getElementById("txtHint").innerHTML=xmlHttp.responseText } }function GetXmlHttpObject(handler) { var objXmlHttp=null; if (navigator.userAgent.indexOf("Opera")>=0) { alert("This example doesnt work in Opera"); return; } if (navigator.userAgent.indexOf("MSIE")>=0) { var strName="Msxml2.XMLHTTP" if (navigator.appVersion.indexOf("MSIE 5.5")>=0) { strName="Microsoft.XMLHTTP" } try { objXmlHttp=new ActiveXObject(strName) objXmlHttp.onreadystatechange=handler return objXmlHttp } catch(e) { alert("Error. Scripting for ActiveX might be disabled") return } } if (navigator.userAgent.indexOf("Mozilla")>=0) { objXmlHttp=new XMLHttpRequest() objXmlHttp.onload=handler objXmlHttp.onerror=handler return objXmlHttp } }
1.js是一种脚本语言。 2.ajax(Asynchronous JavaScript and XML--异步的avascript和xml)简单来说是用js来编写实现的一种技术。这种技术实现了:从前台js脚本向服务器发出请求,服务器响应后,js得到服务器返回的内容并在前台页面进行相关操作。ajax的重点在于“异步”,所以想弄清楚还是要看看书,自己动手写一下~。
ajax实现的功能就是局部刷新,或者更专业点说就是在不阻塞js线程的情况下,在浏览器中打开一条http连接,并在http得到返回结果时触发js的回调函数。
= 异步XMLHttpRequest(js内置对象)
+ js
+ xml (现在流行的是json)就是使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。
操作中使用js,建立一个XMLHttpRequest对象,发送一个url和别的参数,对返回数据(xml or html or json or text) 进行进一步处理。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>ajax实例</title><script>
var xmlHttpfunction showHint(str)
{
if (str.length > 0)// 如有字符被输入文字输入区(str.length>0)函数就执行
{
var url="gethint.asp?sid="+Math.random()+"&q="+str;
xmlHttp=GetXmlHttpObject(stateChanged);// 建立一个XMLHTTP对象
xmlHttp.open("GET", url , true)// 发送一个HTTP请求到服务器上的"gethint.asp"上
xmlHttp.send(null)
// 如需将请求发送到服务器,我们使用 xmlHttp 对象的 open() 和 send() 方法:
// open(method,url,async)
// 规定请求的类型、URL 以及是否异步处理请求。
// method:请求的类型;GET 或 POST
// url:文件在服务器上的位置
// async:true(异步)或 false(同步)
// 与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。
// 然而,在以下情况中,请使用 POST 请求:
// 无法使用缓存文件(更新服务器上的文件或数据库)
// 向服务器发送大量数据(POST 没有数据量限制)
// 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
}
else
{
document.getElementById("txtHint").innerHTML=""
}
}
// 当HTTP触发一次变动则XMLHTTP对象就会执行stateChanged()函数
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
// 当状态改变为4(或为"完成")txtHint span里就会显示反馈的文字
document.getElementById("txtHint").innerHTML=xmlHttp.responseText
}
}function GetXmlHttpObject(handler)
{
var objXmlHttp=null;
if (navigator.userAgent.indexOf("Opera")>=0)
{
alert("This example doesnt work in Opera");
return;
}
if (navigator.userAgent.indexOf("MSIE")>=0)
{
var strName="Msxml2.XMLHTTP"
if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
{
strName="Microsoft.XMLHTTP"
}
try
{
objXmlHttp=new ActiveXObject(strName)
objXmlHttp.onreadystatechange=handler
return objXmlHttp
}
catch(e)
{
alert("Error. Scripting for ActiveX might be disabled")
return
}
}
if (navigator.userAgent.indexOf("Mozilla")>=0)
{
objXmlHttp=new XMLHttpRequest()
objXmlHttp.onload=handler
objXmlHttp.onerror=handler
return objXmlHttp
}
}
// 下面包括了一个称做“txtHint”的SPAN。这个SPAN是用来存储从服务器重新获得的信息的。
// 当用户输入数据,名为“showHint()”的函数将被执行。
// 这个函数的执行是由“onkeyup”事件触发的。
// 换种说法:每当用户在txt1区域内触动键盘按钮,showHint的功能就被执行。
</script>
</head><body><form>
First Name: <input type="text" id="txt1" onkeyup="showHint(this.value)">
</form><p>Suggestions: <span id="txtHint"></span></p>
</body>
</html>
JavaScript 是脚本编程语言
http://www.cnblogs.com/yqskj/articles/2226094.html
2.ajax(Asynchronous JavaScript and XML--异步的avascript和xml)简单来说是用js来编写实现的一种技术。这种技术实现了:从前台js脚本向服务器发出请求,服务器响应后,js得到服务器返回的内容并在前台页面进行相关操作。ajax的重点在于“异步”,所以想弄清楚还是要看看书,自己动手写一下~。
ajax 算是其中的一种 ,不过 ajax 还需要后台的代码的配合才能完整实现 .
ajax 可以取代一些以往 form post的功能 , 通常用于和后台做数据传输,特别之处是他不需要重新加载页面.这样用会体验会好一些。我懂的不多,初学者可以暂时去这样理解它 .