Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Jquery Ajax e Json

  1. #1

    Jquery Ajax e Json

    salve a tutti ho un problema nel recupero di una var in json da una chiamata ajax fatta con jquery:

    evito pezzi di codice inutile sicuramente funzionante
    codice:
    $.ajax({
    				type: "GET",
    				//
    				url: "./gestionale/update-scheda.php",
    				data: "id=+$("#id").val()+&archivio="+$("#archivio").val(),
    				dataType: "json",
    				success: function(myfunc){
    						var Myid = myfunc.id;
    						$('#test').html(Myid);
    				}
    			});
    mentre nella pagina update-scheda il json di ritorno è:
    codice:
    $newId = "10";
    $myArr = array("id" => $newId);
    echo json_encode($myArr);
    il json di ritorno è corretto l'ho stampato a video e controllato con un validator e mi risulta ok.. se tolgo json dal datatype e metto html effettua chiamata e risposta correttamente.

    lo stesso script sopra l'ho usato pari pari in un altro lavoro e va

    qualcuno vede qualche errore? grazie 1000

  2. #2
    scusami non vorrei dire una banalità ma non dovresti scrivere:

    var Myid = myfunc[0].id;

  3. #3
    Originariamente inviato da webking2003
    scusami non vorrei dire una banalità ma non dovresti scrivere:

    var Myid = myfunc[0].id;
    mi ero posto il problema pure io ed avevo in effetti già provato, ma non cambia nulla..

    ho trovato questo 3d che sembra affrontare lo stesso problema..

    http://forum.html.it/forum/showthread/t-1431348.html

    è che la soluzione descritta non è molto capibile..

  4. #4
    so che i dati sono già parsati visto la risposta che si aspetta ma prova a fare una cosa del tipo:

    codice:
    var obj = $.parseJSON(myfunc);
    $.each(obj, function(i,item){
      $('#test').html(item.id);
    });
    ma sicuramente ci sono persone mooolto più bravi di me in queste cose!

  5. #5
    Originariamente inviato da webking2003
    so che i dati sono già parsati visto la risposta che si aspetta ma prova a fare una cosa del tipo:

    codice:
    var obj = $.parseJSON(myfunc);
    $.each(obj, function(i,item){
      $('#test').html(item.id);
    });
    ma sicuramente ci sono persone mooolto più bravi di me in queste cose!
    ho provato anche così ma niente..
    grazie 1000 cmque.. veramente è un problema "assurdo" perchè in un altro sito mi funziona correttamente.. non capisco dove sia il prolema..

    il success della funziona myfunc non risponde nemmeno con un alert ("ok");

    la chiamata ajax funziona, la pagina update-scheda fa quello che deve fare correttamente, sembra quasi che il problema sia il formato dati di ritorno, ma mi risulta json corretto (

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da caRaffa
    ..grazie 1000 cmque.. veramente è un problema "assurdo" perchè in un altro sito mi funziona correttamente.. non capisco dove sia il prolema..
    Riflessione se in un altro sito lo stesso script indentico funziona la diferrenza sta dei dati (presumo) potrebbe essere che questi dati abbiano " ' caratteri strani o altro...?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Originariamente inviato da cavicchiandrea
    Riflessione se in un altro sito lo stesso script indentico funziona la diferrenza sta dei dati (presumo) potrebbe essere che questi dati abbiano " ' caratteri strani o altro...?
    ma infatti ho pensato pure quello, infatti nella pagina che genera la risposta ho forzato l'array ad un campo (id) ed un dato (il valore).

    nn esiste un debugger o qualcosa per capire dov'è che si blocca?

  8. #8
    Firebug per firefox, vai nella console e vedi quali errori ci sono e come ti ha generato l'output..

  9. #9
    Originariamente inviato da webking2003
    Firebug per firefox, vai nella console e vedi quali errori ci sono e come ti ha generato l'output..
    ho verificato la console di firebug e non da errori apparenti.. o magari sbaglio qualcosa io.

    anche nella console degli errori firefox (ctrl+maius+J) non ho errori.
    posto lo script completo, magari che il problema sia altrove e sono io che non lo vedo.. sono disperato ...
    codice:
    $(document).ready(function () {	
    	$(".salva").click(function(){
    		var myMsg = "";
    		var myErr = false;
    		$.map(["archivio","tipo_inserzione","tipo_immobile","paese","richiesta","valutazione","prezzo"],function (valore) {
    			if (($("#"+valore).val()=="")||($("#"+valore).val()=="Undefined")) {
    				myMsg = myMsg+""+valore+" E' obbligatorio
    ";
    				//$("#"+valore).css("border-color","#FF0000");
    				myErr = true;
    			}
    		});
    		if (myErr == true) {
    			$("#overlay").css('display', 'block');
    			$("#in-overlay").css('display', 'block');
    			myMsg = "Attenzione :
    Sono stati rilevati i seguenti errori:
    
    <p style=\"line-height:20px;\">"+myMsg+"</p>";
    			$("#msg").html(myMsg);
    		} else {
    			$.ajax({
    				type: "GET",
    				//
    				url: "<?=$sitedata->path?>/gestionale/update-scheda.php",
    				data: "id=<?=$id?>&archivio="+$("#archivio").val()+"&tipo_inserzione="+$("#tipo_inserzione").val()+"&tipo_immobile="+$("#tipo_immobile").val()+"&paese="+$("#paese").val()+"&via="+$("#via").val()+"&civico="+$("#civico").val()+"&interno="+$("#interno").val()+"&zona="+$("#zona").val()+"&locali="+$("#locali").val()+"&mtq="+$("#mtq").val()+"&ace="+$("#ace").val()+"&contesto="+$("#contesto").val()+"&piano="+$("#piano").val()+"&spazio_esterno="+$("#spazio_esterno").val()+"&eta="+$("#eta").val()+"&richiesta="+$("#richiesta").val()+"&valutazione="+$("#valutazione").val()+"&prezzo="+$("#prezzo").val()+"&canone_affitto="+$("#canone_affitto").val()+"&descrizione="+$("#descrizione").val()+"&balconi="+$("#balconi:checked").val()+"&terrazze="+$("#terrazze:checked").val()+"&giardino="+$("#giardino:checked").val()+"&loggia="+$("#loggia:checked").val()+"&portico="+$("#portico:checked").val(),
    				dataType: "json",
    				success: function(myfunc){
    						alert ("OK");
    				}
    			});
    		}
    	});
    });

  10. #10
    ho notato una cosa strana:

    dal sito che funziona la risposta con firebug dalla pagina update-scheda.php è un formato json pulito, in questo caso invece mi torna anche dei caratteri html (tipo
    ) e secondo me l'inghippo sta tutto li..
    nel file update-scheda.php ho questo:

    codice:
    $myArr = array("id" => "22");
    
    if (!function_exists('json_encode')) {
    include ("../../includes/json.php");
    $json = new Services_JSON();
    	echo $json->encode(($myArr));
    } else {
    	echo json_encode(($myArr));
    }
    la funziona $json la uso anche nel vecchio sistema (è per php4) e funziona, non capisco come mai in questo caso non mi torna un formato json ma html, a sto punto il problema è tutto li mi sa....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.