请问原生Ajax的数据怎么谢,创建的点击时间那边
零秒距离
零秒距离 2017-07-21 00:06:16
[AJAX讨论组]

EMS



零秒距离
零秒距离

全部回复(1)
PHP中文网

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"}]}');


热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号