<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
var xmlHttp = false;
function doIt(){
sendRequest("GET","/system/ajax.action",true,callback);
}
function sendRequest(method, url, async, callback) {
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
if (!xmlHttp) {
alert("当前浏览器无法创建XMLHttpRequest对象");
} else {
//初始化XMLHttpRequest对象
xmlHttp.open(method, url, async);
//定义一个回调函数
xmlHttp.onreadystatechange = callback;
//发送
xmlHttp.send();
}
}
function callback(){
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
var str = xmlHttp.responseText;
//alert(str);
var obj = eval("(" + str + ")");
alert(obj.name + " : " + obj.age);
}
}
</script>
</head>
<body>
<button id="b" onclick="doIt()">获得JSON对象</button>
</body>
</html>
public void ajax(){
try {
String s = "{\"name\":\"张三\",\"age\":\"20\"}";
ServletActionContext.getResponse().setCharacterEncoding("UTF-8");
ServletActionContext.getResponse().getWriter().print(s);
} catch (IOException e) {
e.printStackTrace();
}
}
属性 | 描述 |
---|---|
onreadystatechange | 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。 |
readyState | 存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
|
status | 200: "OK" 404: 未找到页面 |
<!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> <title></title> <script src="js/Jquery1.7.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $('#Button1').click(function () { var username = $('#txtUserName').val(); var pwd = $('#txtPwd').val(); $.ajax({ type: "post", contentType: "application/json", url: "WebService1.asmx/Login", data: "{username:'" + username + "',pwd:'" + pwd + "'}", success: function (bukeyi) { if (bukeyi.d == 'true') { window.location = 'HTMLPage1.htm'; } else { $('#divinfo').text("用户名或密码错误"); } } }) }) }) </script> </head> <body> 用户名<input id="txtUserName" type="text" /><br /> 密码<input id="txtPwd" type="text" /><br /> <input id="Button1" type="button" value="登录" /><br /> <div id="divinfo"></div> </body> </html>
----------------------------------------------------------
<script type="text/javascript"> var xmlHttp = false; function qiangda(ipaddress){ //alert(ipaddress); sendRequest("GET","qiangda.action?ip="+ipaddress,true,callback); } function sendRequest(method, url, async, callback) { if (window.XMLHttpRequest) { //基于Mozilla的浏览器,直接创建XMLHttpRequest对象 xmlHttp = new XMLHttpRequest(); } else if (window.ActiveXObject) {//IE浏览器 //xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE浏览器中XMLHTTP的实现版本并不相同 var msxmls = ["MSXML3" , "MSXML2" , "Microsoft"]; for(var i=0; i < msxmls.length; i++) { try { xmlHttp = new ActiveXObject(msxmls[i]+".XMLHTTP"); } catch(e) { alert("您的浏览器不支持XMLHTTP控件"); } } } if (!xmlHttp) { alert("当前浏览器无法创建XMLHttpRequest对象"); } else { //初始化XMLHttpRequest对象 xmlHttp.open(method, url, async); //定义一个回调函数 xmlHttp.onreadystatechange = callback; //发送 xmlHttp.send(); } } function callback(){ if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { var str = xmlHttp.responseText; //alert(str); var obj = eval("(" + str + ")"); //Dialog.alert(obj.name + " : " + obj.age); alert(obj.name + " : " + obj.age); } } </script>
转载于:https://blog.51cto.com/shamrock/1298735