検索

ホームページ  >  に質問  >  本文

ネイティブ Ajax データの使用方法?作成されたクリック時間はどこにありますか?

<!doctype html>

<html>

<head>

<meta charset="UTF-8">

<title>EMS</title>

<style type="text/css">

#ems{

位置: 絶対;

左: 50%;

幅: 400px;

高さ: 自動;

左マージン: -200px;

背景:lightGreen;

text-align:center;

min-height:50px;

height:500px;

overflow-y:scroll;

overflow-x: hidden;

}

#ems input{

height: 25px;

margin-top: 10px;

}

#リスト{

背景: ライトブルー;

}

#リスト リ{

テキスト-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">


##function ajax(data){

//data= {データ:"",dataType:"xml/json",type:"get/post",url:"",asyn:"true/false",success:function(){},failure:function(){} }


//data:{ユーザー名:123,パスワード:456}

//データ = 'ユーザー名=123&パスワード=456';

//最初のステップ: xhr オブジェクトの作成

var xhr = null;

if(window.XMLHttpRequest){//標準ブラウザ

xhr = new XMLHttpRequest() ;

}else{

xhr = new ActiveXObject('Microsoft.XMLHTTP');

}

//ステップ 2 : 構成パラメーターを準備する送信前

#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'?'true': 'false';

xhr.open(type,url,flag);


//ステップ 3: 送信アクションを実行します

if(type == 'get'){

xhr.send(null);

}else if(type == 'post'){

xhr .setRequestHeader("Content-Type ","application/x-www-form-urlencoded");

xhr.send(data.data);

}


//ステップ 4: コールバック関数を指定します

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(){

//ボタンクリックイベントを登録

var btn = document.getElementById('btn ');

var code = document.getElementById('code').value;

btn.onclick = function(){

var param = {

url:'07ems.php ?code=' code,

type:'get',

dataType:'json',

success:function(data ){

if (data.status == 0){

var list = data.data.info.context;

var tag = '';

for(var i=0 ;i

var item = list[i];

var desc = item.desc;

var t = new Date() ;

t.setTime(item.time '000');

var str = t.getFull Year() '年' (t.getMonth( ) 1) '月' t.getDay () '日' (t.getHours()>12?' 午後':' 午前') t.getHours() ':' t.getMinutes() ':' t .getSeconds();

## tag = '<li><div>' str '</div><div>' item.desc '< /div></li>';


}


var ul = document.createElement('ul') ;

ul.innerHTML = タグ;

document.getElementById('list').appendChild(ul);


}else {

var info = data.msg;

document.getElementById('list').innerHTML = info;

}



#},failure:function () {

alert(12);

}


};

ajax(param);

}

}

//演習問題: カプセル化されたメソッドを使用して昨日の EMS を実装するクエリ

</script>

</body>

</html>


零秒距离零秒距离2691日前1587

全員に返信(1)返信します

  • PHP中文网

    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: ファイル名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: ファイル名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"}]}');


    返事
    0
  • キャンセル返事