Ver Mensaje Individual
  #5 (permalink)  
Antiguo 06/12/2010, 20:55
sandinosaso
 
Fecha de Ingreso: julio-2008
Mensajes: 208
Antigüedad: 15 años, 10 meses
Puntos: 5
Respuesta: duda ajax con php

Cita:
Iniciado por motorinapronto Ver Mensaje
mi idea es que si tengo esto:

Código PHP:
$.ajax({
type"POST",
url"update_data.php",
datadataString,
cachefalse,
success: function(html){
$(
"ol#update").prepend(html);
$(
"ol#update li:first").slideDown("slow"); 

y mi php es:

Código PHP:
<?php
include('db.php');
if(isSet(
$_POST['content']))
{
$content=$_POST['content'];
mysql_query("insert into messages(msg) values ('$content')");
$sql_inmysql_query("SELECT msg,msg_id FROM messages order by msg_id desc");
$r=mysql_fetch_array($sql_in);
$msg=$r['msg'];
$msg_id=$r['msg_id'];
}

?>
<li class="bar<?php echo $msg_id; ?<">
<div align="
left">
<span ><?php echo $msg; ?> </span>
<span class="
delete_button"><a href="#" id="<?php echo $msg_id; ?>" class="delete_update">X</a></span> 

</div>
</li>

es decir, que con prepend(html) estoy introduciendo lo que quiero en un div, llamando a php con $.ajax. La pregunta es... para este caso, ¿Es necesario crear el objeto XMLHttpRequest?

¿que es mas recomendable?
Cuando haces:
Código PHP:
$.ajax({
type"POST",
url"update_data.php",
datadataString,
cachefalse,
success: function(html){
$(
"ol#update").prepend(html);
$(
"ol#update li:first").slideDown("slow"); 
Estas usando jquery y la funcion $.ajax que este framework provee...se ve que no estas entendiendo mucho pero no es necesario crear el objete XMLHttpRequest porque el mismo creo te lo crea la propia funcion $.ajax...vos ni te enteras que hace en el background.
Ahora creo que si lo que quieres es que te devuelva un xml pon:

Cita:
Iniciado por motorinapronto Ver Mensaje
mi idea es que si tengo esto:

Código PHP:
$.ajax({
type"POST",
url"update_data.php",
datadataString,
cachefalse,
success: function(html){
$(
"ol#update").prepend(html);
$(
"ol#update li:first").slideDown("slow"); 

y mi php es:

Código PHP:
<?php
include('db.php');
if(isSet(
$_POST['content']))
{
$content=$_POST['content'];
mysql_query("insert into messages(msg) values ('$content')");
$sql_inmysql_query("SELECT msg,msg_id FROM messages order by msg_id desc");
$r=mysql_fetch_array($sql_in);
$msg=$r['msg'];
$msg_id=$r['msg_id'];
}

?>
<li class="bar<?php echo $msg_id; ?<">
<div align="
left">
<span ><?php echo $msg; ?> </span>
<span class="
delete_button"><a href="#" id="<?php echo $msg_id; ?>" class="delete_update">X</a></span> 

</div>
</li>

es decir, que con prepend(html) estoy introduciendo lo que quiero en un div, llamando a php con $.ajax. La pregunta es... para este caso, ¿Es necesario crear el objeto XMLHttpRequest?

¿que es mas recomendable?
Cuando haces:
Código PHP:
$.ajax({
type"POST",
url"update_data.php",
datadataString,
dataType'xml',
cachefalse,
success: function(html){
$(
"ol#update").prepend(html);
$(
"ol#update li:first").slideDown("slow"); 
En datatype tambien puedes poner "text" (texto plano) o "json" (nativo de js).
Esto en referencia a lo q dice caricatos :
XMLHttpRequest puede leerse como XML (responseXML) o como texto plano (responseText),

Ahora a vos no te interesa que objeto te devuelve porque estas usando la framework jquery y la fucion $.ajax de esta framework....la idea es independisarse de como crea por atras el objeto httprequest...lo bueno es que sabes que te va crear un pedido ajax que es cross browser y esta recontra probado por todo el mundo...es la gracia...yo hace ya unos años no creo mas obejtos httprequest para hacer ajax directamente uso jquery para mi la mejor libreria que hay de javascript...
Salutttee!!!



Salut!!!