господа есть такой пример.
создадим файл ajaj.php
<table>
<tr>
<td>data</td>
<td>state</td>
<td>status</td>
<td>XMLHttpRequest</td>
<tr>
<tr>
<td><input type="button" id="gt1" value="0"></td>
<td><input type="button" id="gt1state" value="0"></td>
<td><input type="button" id="gt1status" value="0"></td>
<td><input type="button" id="gt1req" value="0"></td>
<tr>
<tr>
<td><input type="button" id="gt2" value="0"></td>
<td><input type="button" id="gt2state" value="0"></td>
<td><input type="button" id="gt2status" value="0"></td>
<td><input type="button" id="gt2req" value="0"></td>
<tr>
<tr>
<td><input type="button" id="gt3" value="0"></td>
<td><input type="button" id="gt3state" value="0"></td>
<td><input type="button" id="gt3status" value="0"></td>
<td><input type="button" id="gt3req" value="0"></td>
<tr>
</table>
<script type="text/javascript">
var reqv1 = new init();
reqv2 = new init();
reqv3 = new init();
alert(window.createRequest());
function init(){
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else if (window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
function processRequest1() {
document.getElementById('gt1state').value=reqv1.readyState;
document.getElementById('gt1req').value=reqv1;
if (reqv1.readyState == 4) {
document.getElementById('gt1status').value=reqv1.status;
if (reqv1.status == 200) {
document.getElementById('gt1').value=eval(reqv1.responseText)[0];
}
}
}
function processRequest2() {
document.getElementById('gt2state').value=reqv2.readyState;
document.getElementById('gt2req').value=reqv2;
if (reqv2.readyState == 4) {
document.getElementById('gt2status').value=reqv2.status;
if (reqv2.status == 200) {
document.getElementById('gt2').value=eval(reqv2.responseText)[0];
}
}
}
function processRequest3() {
document.getElementById('gt3state').value=reqv3.readyState;
document.getElementById('gt3req').value=reqv3;
if (reqv3.readyState == 4) {
document.getElementById('gt3status').value=reqv3.status;
if (reqv3.status == 200) {
document.getElementById('gt3').value=eval(reqv3.responseText)[0];
}
}
}
function ajaxRUN1(url){
reqv1.open('POST',url,true);
reqv1.onreadystatechange=processRequest1;
reqv1.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
reqv1.send(null);
}
function ajaxRUN2(url){
reqv2.open('POST',url,true);
reqv2.onreadystatechange=processRequest2;
reqv2.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
reqv2.send(null);
}
function ajaxRUN3(url){
reqv3.open('POST',url,true);
reqv3.onreadystatechange=processRequest3;
reqv3.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
reqv3.send(null);
}
</script>
<input type="button" id="gt" value="0" onclick="ajaxRUN1('ajaj1.php');">
<input type="button" id="gt" value="0" onclick="ajaxRUN2('ajaj2.php');">
<input type="button" id="gt" value="0" onclick="ajaxRUN3('ajaj3.php');"><?
include('php2json.php');
$t[0]="first ".time();
echo php2json($t);
for ($i=0;$i<1000000*8;$i++){
$aa=4;
$tt=$aa*2;
}
?><?
include('php2json.php');
$t[0]="first ".time();
echo php2json($t);
for ($i=0;$i<1000000*4;$i++){
$aa=4;
$tt=$aa*2;
}
?><?
include('php2json.php');
$t[0]="first ".time();
echo php2json($t);
?><?
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // disable IE caching
header("Last-Modified: " . gmdate( "D, d M Y H:i:s") . " GMT");
header("Content-type: text/plain; charset=windows-1251");
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
function php2json($a) {
if(is_null($a))
return 'null';
if($a===false)
return 'false';
if($a===true)
return 'true';
if(is_scalar($a)) {
$a=addslashes($a);
$a=str_replace("\n",'\n',$a);
$a=str_replace("\r",'\r',$a);
$a=preg_replace('{(</)(script)}i',"$1'+'$2",$a);
return "'$a'";
}
$isList=true;
for($i=0,reset($a);$i<count($a);$i++,next($a))
if(key($a)!==$i) {
$isList=false;
break;
}
$result=array();
if($isList) {
foreach($a as $v)
$result[]=php2json($v);
return '['.join(',',$result).']';
}
else {
foreach($a as $k=>$v)
$result[]=php2json($k).':'.php2json($v);
return '{'.join(',',$result).'}';
}}
?>Какие есть варианты по решению моего вопроса?
Мне не доводилось делать такую вот полную асинхронность. Могу предложить В динамике создавать под каждый запрос скрытый IFrame, и потом его разрушать, или другой подходящийобъект в DOM модели.
Не знаю, вашу специфику. Но а зачем понадобилась такая петрушка?
Форум Invision Power Board (http://nulled.ws)
© Invision Power Services (http://nulled.ws)