Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/11/2011, 11:12
tenshi_
 
Fecha de Ingreso: marzo-2008
Mensajes: 10
Antigüedad: 16 años, 9 meses
Puntos: 1
Pregunta Problemas con return en funciones anidadas Jquery $.ajax

Antes que nada gracias por la atención:

el problema es el siguiente, estoy tratando de estructurar el manejo de tablas mysql con jquery usando para ello $.ajax. para eso tengo los siguentes archivos

ejecutar.js
Código PHP:
function ejecutar (sqltipo){
var 
resultado;    
$.
ajaxSetup({ 'beforeSend': function(xhr) {xhr.setRequestHeader("Accept""text/javascript,application/javascript,text/html")} });
$.
ajax({type"POST"url"ejecutar.php?sql="+sql+"&tipo="+tipodataType"json",
       
success:  function(data){
           
resultado data;
       }
});

return 
resultado;

y ejecutar.php
Código PHP:
require_once("conexion.php");
$c = new conexion();
$tipo $_GET["tipo"];
if (
get_magic_quotes_gpc()){ $sql stripcslashes($_GET["sql"]); }else{    $sql $_GET["sql"]; }

if (
$tipo=="devolver_fila"){
$rs $c->devolver($sql);
    while (
$f mysql_fetch_array($rs)){
        for (
$x 0$x<mysql_num_fields($rs); $x++){
            
$nombre mysql_field_name($rs,$x);
            
$arr[$nombre]= $f[$x];    
        }                
    }
//    $arr ["sql"]= $tipo;
    
echo(json_encode($arr)); 


el archivo ejecutar.php devuelve el resultado de una consulta mysql_Query en formato json, el mismo que se transfiere al ejecutar.js a traves de la variable data en el evento success, hasta ahi todo funciona bien, el problema es que quiero que el resultado de data regrese en forma de return de la funcion ejecutar (que esta dentro del archivo ejecutar.js) para poder usarlo desde cualquier otra pagina.

por ejemplo si etoy haciendo un login podria poner esto en mi pagina login.php

<script language="javascript" src="librerias/ejecutar.js"></script>
$(document).ready(function(){
$("#send").click(function(){
var user = $("#usuario").val();
var clave = $("#clave").val();

var resultado = ejecutar("select count(*) as cantidad from usuaios where user="+user+" and clave="+clave, "devolver_fila");

if (resultado.cantidad==0){
alert ("usuario o clave incorrectos");
}else{
alert ("redireccionando...");
/* aca el resto del codigo*/
}
});
});

me dejo entender?... o sea mi problema es basicamente como hago para pasar el contenido de la variable DATA que regresa en success del $.ajax al return de la funcion ejecutar.

si alguien me ayuda le estaria muyyyyy agradecido... eh probado en ponerle return en el mismo success pero eso regresa el valor a la funcion success no a la funcion ejecutar. salu2 y gracias de antemano