Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    problema chiamata ajax con phpLiveX

    Ciao a tutti!

    Prima cosa spero di aver postato nella sezione giusta... non penso sia una
    discussione "lato client"... è che non capisco dove sta l'errore...

    Mi sto eserictando con PHP5 e phpLiveX.
    Ho scritto un semplice e breve codice, però firebug
    mi restituisce un errore dopo la chiamata Ajax:
    contenuto illegale dopo l'elemento
    </html><phplivex>["a","b","c","d"]</phplivex>

    Non so a cosa sia dovuto!?

    Vi posto il codice:

    index.php
    codice:
    <?php
    	ini_set('display_errors',true);
    
    	//funzione _autoload, carica phpLiveX, EsController.php, ecc
    	include_once "doAutoload.php";
    
    	$myClass = new EsController("esercizioTemplate");
    	
    	if( isset($myClass) ) {
    		$ajax = new PHPLiveX();
    		$ajax->AjaxifyObjectMethods(array("myClass" => array("a","b")));
    		$ajax->Run();
    	}
    ?>
    EsController.php
    codice:
    <?php
    	class EsController extends BaseController {
    
    		public function __construct($template) {
    			parent::__construct($template);
    			eval("\$this->PrintTemplate(\"".$this->GetTemplate()."\");");
    		}
    		
    		public static function a() {
    			$a = array(0=>"a","b","c","d");
    			return json_encode($a);
    		}
    
    		public static function b() {
    			$b = array();
    			for($i = 0; $i < 10; $i++)
    				$b[$i] = array(0=>"q","w","e","r","t","y");
    			return json_encode($b);
    		}
    	}
    ?>
    esercizioTemplate.html
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head >
    	<title>esercizio</title>
    	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    	<script type="text/javascript" src="./js/prototype.js"></script>
    	<script type="text/javascript">
    
    	var esercizio = function () {
    		var a;
    		//chiamata AJAX con phpLiveX:
    		myClass.a( {
    		      "onFinish": function(response) {
    			  a = response.evalJSON();
    			  alert(a);
    		      }
    		});
    		
    		var b;
    		//chiamata AJAX con phpLiveX:
    		myClass.b( {
    		     "onFinish": function(response) {
    			b = response.evalJSON();
    			alert(b);
    		     }
    		});
    	}
    	document.observe("dom:loaded", esercizio);
    
    	</script>
    </head>
    <body>
    </body>
    </html>
    Spero che qualcuno riesca a darmi qualche consiglio!
    Grazie!

  2. #2
    Dunque... la chiamata Ajax funziona... il problema è che
    /* !eval(new String('(' + json + ')) */

    infatti i due alert stampano correttamente il risultato desiderato...
    se guardo i file di log secondo me risolvo....
    però non ricordo più... quali / dove sono? (su Linux) :master:

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.