Maison > Questions et réponses > le corps du texte
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>EMS</title>
<style type ="text/css">
#ems{
position : absolue;
gauche : 50 %;
largeur : 400 px;
hauteur : auto;
marge gauche : -200 px;
arrière-plan : lightGreen;
text-align: center;
min-height: 50px;
height: 500px;
overflow-y: scroll;
overflow-x: caché;
}
#ems input{
Height: 25px;
margin-top: 10px;
}
# list {
background: LightBlue;
}
# list li {
text-align: Left;
}
</style>
</head>
<body>
<div id="ems">
<div>
<input type="text" id ="code">
<input type="button" value="查询" id="btn">
</div>
<div id="list">
< ;/div>
</div>
<script type="text/javascript">
fonction ajax(data){
//data={data:"",dataType:"xml/json",type:"get /post",url:"",asyn:"true/false",success:function(){},failure:function(){}}
//data:{username:123,password:456 }
//data = 'username=123&password=456';
//Première étape : Créer un objet xhr
var xhr = null;
if(window.XMLHttpRequest){//Navigateur standard
xhr = new XMLHttpRequest();
}else{
xhr = new ActiveXObject('Microsoft.XMLHTTP');
}
//Étape 2 : Préparez certains paramètres de configuration avant d'envoyer
var type = data .type == ' get'?'get':'post';
var url = '';
if(data.url){
url = data.url;
if(type == 'get'){
url += "?" + data.data + "&_t="+new Date().getTime();
}
}
var flag = data.asyn == 'true' ? false';
xhr.open(type,url,flag);
//Étape 3 : Exécuter l'action envoyée
if(type == 'get'){
xhr.send(null) ;
}else if(type == 'post'){
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr. ;
}
//Étape 4 : Spécifiez la fonction de rappel
xhr.onreadystatechange = function(){
if(this.readyState == 4){
if( this.status == 200 ){
if(typeof data.success == 'function'){
var d = data.dataType == 'xml'?xhr.responseXML:xhr.responseText;
data.success (d);
}
}else{
if(typeof data.failure == 'function'){
data.failure();
}
}
}
}
}
window.onLoad = function () {
// Bouton d'enregistrement cliquez sur Event
var btn = document.getElementById ('btn');
var code = document .getElementById('code').value;
btn.onclick = function(){
var param = {
url:'07ems.php?code='+code,
tapez :'get',
dataType:'json',
success:function(data){
if(data.status == 0){
var list = data.data.info.context;
var tag = '';
for(var i=0;i<list.length;i++){
var item = list[i];
var desc = item.desc;
var t = new Date ();
t. setTime(item.time+'000');
var str = t.getFullYear()+'year'+(t.getMonth()+1)+'month'+t.getDay( )+'Day'+( t.getHours()>12?' PM':'AM')+t.getHours()%12+':'+t.getMinutes()+':'+t.getSeconds ();
tag += '<li><div>'+str+'</div><div>'+item.desc+'</div></li>';
}
var ul = document.createElement('ul');
ul.innerHTML = tag;
document.getElementById('list'). appendChild (ul); Failure:function () {
alert(12);
};
ajax(param);
}
//Questions d'exercice : Utiliser des méthodes encapsulées pour mettre en œuvre l'EMS d'hier enquête
</script>
</body>
</html>
PHP中文网2017-07-21 10:33:28
ajax_json.js
function ajax(){ try{ this.xmlHttp = new XMLHttpRequest(); }catch(e){ try{ this.xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ this.xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){ alert("your web explorer not support AJAX"); return false; } } } } ajax.prototype.doajax=function(){ var target,func,var_s,count,all_c,i,xmlHttp,appstr,obj; target=arguments[arguments.length-2]; func=arguments[arguments.length-1]; var_s=""; count=0; all_c=0; for(i=0;i<arguments.length-2;i++){ if(count==0){ count=1; if(all_c==0){ all_c=1; var_s+=arguments[i]; }else{ var_s+="&"+arguments[i]; } }else{ count=0; var_s+=("="+escape(replaceall(arguments[i],"+","#add#"))); } } xmlHttp=this.xmlHttp; xmlHttp.onreadystatechange=function(){ if(xmlHttp.readyState==4 && xmlHttp.status==200){ appstr=unescape(unescape(xmlHttp.responseText)); obj=eval('('+appstr+')'); eval(func+"(obj);"); } }; xmlHttp.open('POST',target,true); xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xmlHttp.send(var_s); }; function replaceall(str,from,to){ while(str.indexOf(from)>=0){ str=str.replace(from,to); } return(str); }; function aolk(olkt){ return replaceall(replaceall(olkt,"#brn#","\n"),"#brr#","\r"); }
client : Nom du fichier demo.html
<script src="ajax_json.js"></script> <script> function aa(pp){ alert(pp.linkman); alert(aolk(pp.password[0].me)); alert(pp.password[1].you); } </script> <textarea id=user></textarea><br> <input type=button value="1111" onclick='$=new ajax();$.doajax("nm",document.all.user.value,"test_json.php","aa");'>
server : Nom du fichier test_json.php
<?php function escape($str) { preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r); $ar = $r[0]; foreach($ar as $k=>$v) { if(ord($v[0]) < 128) $ar[$k] = rawurlencode($v); else $ar[$k] = "%u".bin2hex(iconv("GB2312","UCS-2",$v)); } return join("",$ar); } function unescape($str) { $str = rawurldecode($str); preg_match_all("/(?:%u.{4})|.+/",$str,$r); $ar = $r[0]; foreach($ar as $k=>$v) { if(substr($v,0,2) == "%u" && strlen($v) == 6) $ar[$k] = iconv("UCS-2","GB2312",pack("H4",substr($v,-4))); } return join("",$ar); } function olk($olkt){ return str_replace("#add#","+",str_replace("\r","#brr#",str_replace("\n","#brn#",str_replace('"','\"',$olkt)))); } $nm=unescape(stripslashes($_POST["nm"])); echo escape('{"linkman":"1111","password":[{"me":"'.olk($nm).'"},{"you":"hello"}]}');