Visualizzazione risultati 1 fino 6 di 6

Discussione: [jquery/ajax] Lunghezza variabile vuota

  1. #1
    Guest

    Predefinito [jquery/ajax] Lunghezza variabile vuota

    Ciao a tutti, sapete dirmi perché in questo caso la variabile "lung" è vuota...
    Codice PHP:
    var Cont = 0,Response,Response2;
    function
    Prova(){
    $.
    ajax({
    type: "GET",
    url: "file.php",
    data: "id=1",
    success: function(response){
    Response = response;
    Prova2();
    }});
    return
    false;
    }

    Response2 = 0;
    function
    Prova2(){
    if(
    Response > Response2){
    Response2 = ((((Response%2) == "0") ? (Response/2) : ((Response-1)/2))+Cont);
    Cont++;
    var
    lung = Response2.length;
    alert(lung);
    }}

    $(
    document).ready(function(){
    setInterval("Prova();",1000);
    });
    Ultima modifica di alemoppo : 13-07-2011 alle ore 13.54.19 Motivo: +tag [php] (ho messo php per colorare ;) )

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    È vuota perché la proprietà length di un numero non esiste. Cosa dovrebbe contenere invece?

  3. #3
    Guest

    Predefinito

    Veramente funziona se io faccio cosi...
    Codice PHP:
    function Prova(){
    $.
    ajax({
    type: "GET",
    url: "file.php",
    data: "id=1",
    success: function(response){
    Response = response;
    var
    lung = Response.length;
    alert(lung);
    }});
    return
    false;
    }
    Es.
    14789 lunghezza 5 perché sono 5 numeri...
    Non capisco perché non funziona in quel modo...

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Allora hai fatto un grande pasticcio con i tipi, se response è di tipo stringa, perché usi operatori matematici con questa variabile?
    Quando la ridefinisci usi l'operatore diviso, che converte il tutto in numero e quindi non avrai più la proprietà length, che appartiene agli oggetti di tipo stringa.
    Ultima modifica di karl94 : 13-07-2011 alle ore 14.40.21

  5. #5
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,227

    Predefinito

    response è una stringa.

    però, quando vai a fare:

    Codice:
    Response2 = ((((Response%2) == "0") ? (Response/2) : ((Response-1)/2))+Cont);
    Si trasforma in numero, infatti per effettuare una operazione aritmetica, viene ovviamente trasformato in numero.

    Per ritrasformarlo in stringa, potresi fare
    Codice:
    response2 = response2 + '';
    In modo che concateni una stringa, quindi lo converti in stringa.


    Ciao!

    EDIT:

    anticipato...
    Ultima modifica di alemoppo : 13-07-2011 alle ore 14.43.44 Motivo: + tag [code]

  6. #6
    Guest

    Predefinito

    Ho fatto cosi, sembra che funzioni che ne pensi...

    Codice PHP:
    Response2 = 0;
    function
    Prova2(){
    if(
    Response > Response2){
    Response2 = ((((Response%2) == "0") ? (Response/2) : ((Response-1)/2))+Cont);
    Cont++;
    Response3 = String(Response2);
    var
    lung = Response3.length;
    alert(lung);
    }}
    thx ^^

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •