Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/10/2007, 15:06
Avatar de AlZuwaga
AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 9 meses
Puntos: 535
Re: Problema con ajax

Hola, te paso unas modificaciones y algunos comentarios:

p2.asp:

Código:
<html>
<head>
<script language="javascript" type="text/javascript">
var enProceso = false; // lo usamos para ver si hay un proceso asíncrono activo
var http = getHTTPObject(); // Creamos el objeto XMLHttpRequest

function getHTTPObject()
{
var xmlhttp;
/*@cc_on
@if (@_jscript_version >= 5)
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) { xmlhttp = false; }
}
@else
xmlhttp = false;
@end @*/
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) { xmlhttp = false; }
}
return xmlhttp;
}

function llamadaajax()
{
if (!enProceso && http)
{
var url = "p3.asp";
http.open("GET", url, true);
http.onreadystatechange = controlHttpRespuesta;
enProceso = true;
http.send(null);
}
}

function controlHttpRespuesta()
{
if (http.readyState == 4) {
if (http.status == 200) {
if (http.responseText.indexOf("invalid") == -1) {
document.getElementById("midiv").innerHTML = http.responseText;
variablejs = http.responseText;
enProceso = false;
}
}
}
}

function consultavalor()
{
alert(variablejs);
}
</script>
<title>Ajax: consulta variable js</title>
</head>

<body>
<a href="javascript:llamadaajax()">llamada asíncrona</a><br>
<a href="javascript:consultavalor()">consultar valor de variable</a>
<div id="midiv"></div>
</body>
<html>
p3.asp
Código:
<%
'así funciona para el innerHTML:
response.write "adios"

'así NO funciona para el innerHTML:
'además, la variable variablejs está mal definida de esta manera. Jamás será una variable de javascript.
'response.write "<script type=""text/javascript"">var variablejs=""adios""</script>"
%>

Cita:
seria bueno declarar la variable en P2.asp, y en p3.asp solo asignarle el valor
Como dice Shiryu_Libra, la variable debe ser declarada dentro de p2.asp... en realidad, dentro de la función. En p3.asp no podés ni declarar la variable ni asignarle valor puesto que se trata simplemente de una salida de texto... no es javascript, por más que lo pongas dentro de etiquetas de <script>


Cita:
...debes ponerle el ";", al final de la instruccion
El punto y coma se usa para separar múltiples instrucciones, pero cuando se trata de una sola instrucción in-line no es necesario
__________________
...___...

Última edición por AlZuwaga; 19/10/2007 a las 15:11