Pages: [1]   Go Down
Print
Author Topic: aiuto esercizio web programming (esame 1207)  (Read 1077 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
W_doppio
Matricola
*
Offline Offline

Gender: Male
Posts: 99



WWW
« on: 13-12-2010, 03:40:48 »

Qualcuno gentilmente mi può aiutare nella risoluzione di questo esame? E' il compito del 12-07-2010.
Io ho cercato di risolverlo in questo modo ma ci sono dei problemini e non ho saputo fare l'ordinamento.

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento senza titolo</title>
<!-- Si vuole costruire un parser composto da una parte client (javascript) ed un server (php).
La pagina php deve elaborare pagine html provenienti da internet ed aventi questa struttura:

html
   body
      id=maindiv
        id=contents
        ...
        ...
        id=contents


I campi contents devono essere inclusi in un JSON di ritorno, secondo il seguente formato:
{"results": [[contents1], .... , [contents n]]}

La pagina javascript deve richiedere questi dati attraverso una chiamata AJAX. La chiamata AJAX
fornisce anche la url internet da elaborare.

I risultati JSON così ottenuti vanno inclusi all'interno di una tabella ed ordinati in maniera decrescente -->
</head>

<body>

<script type="text/javascript">

function ajaxRequest(){
 var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE
 if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
  for (var i=0; i<activexmodes.length; i++){
   try{
    return new ActiveXObject(activexmodes[i])
   }
   catch(e){
    //suppress error
   }
  }
 }
 else if (window.XMLHttpRequest) // if Mozilla, Safari etc
  return new XMLHttpRequest()
 else
  return false
}

var mygetrequest=new ajaxRequest();

mygetrequest.onreadystatechange=function(){
 if (mygetrequest.readyState==4){
  if (mygetrequest.status==200 || window.location.href.indexOf("http")==-1){
   var jsondata=JSON.parse(mygetrequest.responseText); //retrieve result as an JavaScript object

   var output='<table><tr>';
   for (var i in jsondata){
     output+='<td>'+jsondata[i]+'</td><tr>';
   }
   output+='</tr></table>'
   document.getElementById("result").innerHTML=output
  }
  else{
   alert("An error has occured making the request")
  }
 }
}

mygetrequest.open("GET", "parser.php", true)
mygetrequest.send(null)

</script>

<div id="result"></div>
<body>
</html>




Code:
<?php
// parte server

require_once "simplehtmldom/simple_html_dom.php";

$html file_get_html('http://localhost/esercizi_web/pagInt.html');


$contents $html->getElementById("maindiv");


$json json_encode(
    array(
        
"results" => array(array("$contents")
      ))
  
);

echo 
$json;


?>




Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>paginaInternet</title>
</head>

<body>

<div id="maindiv">
  ciao sono un maindiv
   <div id="contents1">ed io il contenuto 1</div>
      <div id="contents2">ed io il contenuto 2</div>
     <div id="contents3">ed io il contenuto 3</div>
    <div id="contents4">ed io il contenuto 4</div>
  </div>
</body>
</html>



Spero che potete aiutarmi. Grazie.
Logged

"Se qualcosa può andare storto, lo farà". (Legge di Murphy)
Pages: [1]   Go Up
Print
Jump to: