【发布时间】:2023-03-26 06:35:01
【问题描述】:
我有一个带有两个选项的表单,当 onclick AJAX 调用一个 php 文件时,该文件会创建一个包含所有可能结果的临时表。因此,如果用户再次选择另一个选项,它会加载得更快。
问题是对php文件的ajax调用总是重新创建和插入元素,我怎样才能避免这种情况?,我怎样才能创建一次临时表。
php文件可以只调用一次吗?
抱歉表达不好,但我对 PHP、AJAX 等有点陌生。
我的 ajax 调用:
<script type="text/javascript">
function showAliveData(str,str2){
if (str=="null" || str2=="null")
{
document.getElementById("resultados").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("resultados").innerHTML=xmlhttp.responseText;
$("#tablaResultados").tablesorter("update");
}
}
document.getElementById("resultados").innerHTML='<div id="loader">La conexión con Google Analytics puede tardar unos segundos, por favor espere..</div>';
xmlhttp.open("GET","test.php?seccion="+str+"&elemento="+str2,true);
xmlhttp.send();
}
</script>
HTML:
<form name="form">
<select name="seccion">
<option value="null" style="color:#D3D3D3" disabled="disabled" selected="selected">Sección</option>
<option value="Home">Home</option><br/>
<option value="Promociones">Promociones</option>
<option value="all">- Todas las secciones -</option>
</select>
<select name="elemento">
<option value="null" style="color:#D3D3D3" disabled="disabled" selected="selected">Elemento</option>
<option value="Vitrina">Vitrina</option><br/>
<option value="Banner">Banner</option>
<option value="Destinos destacados">Destinos destacados</option>
<option value="Box">Box</option>
<option value="all">- Todos los elementos -</option>
</select>
<input type="button" value="Alive" onclick="showAliveData(seccion.value,elemento.value)">
PHP 文件:
Basically
-Creates the temporary table
-Inserts all data
-display the data the user selected
提前谢谢你!
【问题讨论】:
-
我们能看到PHP文件吗?另外,我看到你的原始 AJAX 代码中混入了一点 jQuery 吗?
标签: php mysql ajax dom temp-tables