Comunidad de diseño web y desarrollo en internet online

problema respuesta ajax

Citar            
MensajeEscrito el 19 Jul 2016 11:29 am
Buenos dias,

tengo un problema que no me habia pasado nunca, a ver si me podeis echar una mano.

En primer lugar, hago una peticion ajax de esta manera:

Código:

Código :

 $('#select-ajax').on('change',function(){

        var dataString = $( '#select-ajax' ).serialize() ;
        var url = $( '#select-ajax' ).attr( 'action' );

        $.ajax({
            type: "POST",
            url: url,
            data: dataString,
            success: function(data) {

                console.log(data);


            }
        });
    });


esta peticion la recibe un controlador y ahora mismo esta devolviendo un numero:

Código:

Código :

  public function action_listingSelec(){

        $ad =$this->request->param('id');

        echo $ad;

    }

Y como veis intento imprimir la respuesta por consola y me devuelve, el numero mas todo el contenido html siguiente. Esa es la parte que no entiendo, porque la respuesta no es unicamente el numero?

Respuesta:

Código :

37<!doctype html>
<!--> <html class="no-js ie6 oldie" lang="es"> <!-->
<!--> <html class="no-js ie7 oldie" lang="es"> <!-->
<!--> <html class="no-js ie8 oldie" lang="es"> <!-->
<!--><!--> <html class="no-js" lang="es"> <!--<!-->
<head>
<meta charset="utf-8">

<title>....

Por akrogonac

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Jul 2016 10:02 pm
prueba con las funciones ajax que hice:

Código Javascript :

window['xhr']=function(){if(window['XMLHttpRequest']){return new XMLHttpRequest();}else if(window['ActiveXObject']){return new ActiveXObject('Microsoft.XMLHTTP');}}
window['ajx']=function(u,I,R){H=xhr();if(H){H['onreadystatechange']=function(){rrt(R);};H['open']('POST',u,true);if(arguments[3]=='text'){H['overrideMimeType']('text/plain','charset=x-user-defined');}H['setRequestHeader']('Content-Type','application/x-www-form-urlencoded');H['send'](I);}}
window['rrt']=function(a){if(H['readyState']==4){if(H['status']==200){if(a!=null){a(H['responseText']);}}}}

//con ello puedo poner las funciones de manera externa i hay dos posibilidades
//ajx('http://localhost/aa.php',null,wqe,'text');
//o tambien en caso de que si queramos enviar datos
//ajx('http://localhost/indexx.php','aaa=zas',wqez);

//esto enviara a $_POST['aaa'] el valor zas en caso de que quieras meterlo dentro de evento

//boton['onclick']=(e)=>{ajx('http://localhost/indexx.php','aaa=zas',wqez);}

//wqez sera la funcion que quieras que haga algo a tu script por ejemplo:

//window['wqe']=()=>{alert(argument[0]);}
// recuerda argument[0] sera el echo que le hayas puesto en indexx.php
//si deseas encriptar los envios por ajax puedes utilizar esta funcion que hice:

Window['prototype'].bas=()=>{var a=arguments,A=a[1].split(''),f='',s=1,d=parseInt(a[0]),i=A.length,c,r;if(parseInt(a[2])==10){var k=0,d=a[0],f=0;for(c=0;c<d.length;c++){var j=d.length-c-1;k=A.indexOf(d[c]);f=f+(k*(Math.pow(i,j)));}return f;}if(parseInt(a[2])==0){while(s==1){r=d%i;c=((d-(r))/i);f=A[r]+f;d=c;s=(d>=i)?1:0;};return (A[c]==0)?f:A[c]+f;}}

//con ella creas bases de todo tipo por ejemplo 
k1='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.-,:;}{][¿?¡"!|@<#·ñÇçÑ)(=ª&%$*^äÄëËïÏöÖüÜâÂÊêîÎôÔûÛàÀèÈìÌòÒùÙáÁé';

alert(bas('hola',k1,'10'));// te dara como resultado 36047498 
alert(bas('36047498',k1,'0'));//te retornara hola
//el problema que tiene este sistema es que los INT de ECMA tienen un tope de unos pocos //millones en ese sentido python le da 2000 vueltas para php lo resolveras con funciones bc 
// por ejemplo : function bas($s,$a,$t){$f='';$A=(str_split($a));$C=count($A);bcscale(0);$c="$C";if($t=='0'){$d="$s";$j=bccomp($d,$c);if($j<0){$D=$d;}while($j>=0){$r=bcmod($d,$c);$w=bcsub($d,$r);$D=bcdiv($w,$c);$f=$A[$r].$f;$d=$D;$j=bccomp($d,$c);}$f=$A[$D].$f;}if($t=='10'){$f='0';$w=strlen($s);$i=$w-1;for($Y=0;$Y<$w;$Y++){$y=$i-$Y;$l=$s[$Y];$L=array_search($l,$A);$f=bcadd($f,bcmul(bcpow($c,"$y"),"$L"));}}return $f;} en php
//para hacer strings mas lasgos dividimos las cadenas mediante match
//un ejemplo seria;
var s64='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/';
var st='hola mundo que tal como vamos por cristalab';
var enigma=btoa(st).slice(0,btoa(st).indexOf('=').convert(-1,btoa($st).length)).match(/.{1,2}/g).recursive(function(){return String('00'+bas(parseInt(bas(arguments[0],s64,'10'))+(4096*Math.floor((Math.random()*64)+1)),k1,'0')).slice(-3);}).join('');
console.log(enigma);
Array.prototype.recursive=function(){var d=Array(),k=0;for(k;k<this.length;k++){d.push(arguments[0](this[k]));};return d;}
var desenigma=atob(enigma.match(/.{1,3}/g).recursive(s=>(){return bas(bas(arguments[0],k1,'10')%4096,s64,'0');}).join(''));

//con ello encriptas tus envios siguiendo los patrones puedes hacer lo mismo para obtener las descodificaciones en php

// En caso de maquetizar los elementos en la dom puedes utilizar 
String['prototype'].rep=function(){var a=arguments;var z=this.replace(a[0],a[1]);while(z.indexOf(a[0])>-1){z=z.replace(a[0],a[1]);};return z;};

Window['prototype'].$=function(){var a=arguments,L='length',I='indexOf',S='substr',l=a[L],D=document,v,r,u,b,h,s,F,T,A,t,i,f,B=Array(),E,d,m,g,j,z,k,K,w=window,G='getElementById',p='parentNode',c='createElement',P='appendChild',y='style',Y='split',Z=0;i=(typeof a[0]=='string')?D[G](a[0]):a[0];if(l==1){return i;}else if(l==2){s=a[1];if(s[S](0,1)=='!'){Z=1;F=s[I]('!',1);f=s[S](1,F-1);if(f[I]('|')<0){B[0]=f;}else{B=f[Y]('|');};s=s[S](F+1);}A=s[Y](',');t=0;if(A[L]==1){if(A[0][I](';')==0){return i[y][A[0][S](1)];}else if(A[0][I](':')==0){return i[A[0][S](1)];}}for(t;t<A[L];t++){if(Z==1){E=A[t];for(K=0;K<B[L];K++){T=B[K][Y]('>');E=E.rep(T[0],T[1]);}}else{E=A[t];}m=Array(';',':','@');d=100;for(j=0;j<m[L];j++){g=E[I](m[j]);d=((g>-1)&&(g<d))?g:d;};if(d==100){return;}z=Array(E[S](0,d),E[S](d,1),E[S](d+1));if(z[0][S](0,1)=='%'){k=i[p];z[0]=z[0][S](1);}else{k=i;};if(z[1]==m[0]){k[y][z[0]]=z[2];}else if(z[1]==m[1]){k[z[0]]=z[2];}else if(z[1]==m[2]){if(z[2][I]('&')>0){h=z[2][I]('&');b=z[2][S](h+1);z[2]=z[2][S](0,h);if(z[0]==''){w[z[2]](b);}else{r=z[2];u=b.split('|');k[z[0]]=function(e){v=[e].concat(u);w[r].apply(this,v);};}}else{k[z[0]]=w[z[2]];}}}}else if(l>2){E=D[c](a[1]);E.id=(a[0]!='')?a[0]:null;$(a[2])[P](E);if(l==4){$(E,a[3]);}}}

//con ello puedes maquetizar tu pagina como quieras sin utilizar nada de html solo con javascript nativo

$('div1','div','body.id','!.>px|#ccc>red!position;absolute,left;10.,top;30.,border;1. solid #ccc,height;10.,textAlign;center,color;orange,width;100.,overflow;hidden,fontSize;14.,innerHTML:hola,borderRadius;5.,fontFamily;hand,fontWeight;bold,contentEditable:true,i:has,paddingBottom;13.,paddingLeft;3.);
//recuerda document.getElementByTag('body').id='body.id';
//quien dice div como elemnto creado dice INPUT , FORM, img , ....

un ejemplo de mis codigos ->

Por aukun

Claber

200 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.