Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-12-2010, 17:53   #1
frank10
Senior Member
 
Iscritto dal: Feb 2005
Messaggi: 579
[ajax - php] errore ajax.status = 0

Ho letto un po' su Ajax e volevo fare uno script che si collega a un server per leggere un testo o ricevere il valore di una variabile.

Lato client ho:

Codice:
<script type="text/javascript" src="utility.js"></script>

<script type="text/javascript">
var doc = document, win = window;

function Ricevi() {
		
	caricaTesto('indirizzoMioServer/public/Files/PHP/content.php&action=art'); 

function caricaTesto(nomeFile) {

    // assegnazione oggetto XMLHttpRequest con controllo browser:
     ajax = assegnaXMLHttpRequest();

    // assegnazione elemento del documento
    elemento = prendiElementoDaId("p_francesco");


  // se l'oggetto XMLHttpRequest non è nullo
  if(ajax) {


    // impostazione richiesta asincrona in GET
    // del file specificato
    ajax.open("get", nomeFile, true);

    // rimozione dell'header "connection" come "keep alive"
    ajax.setRequestHeader("connection", "close");

    // impostazione controllo e stato della richiesta
    ajax.onreadystatechange = function() {

      // verifica dello stato
	if(ajax.readyState === readyState.COMPLETATO) {

        // verifica della risposta da parte del server
        if(statusText[ajax.status] === "OK")
          // operazione avvenuta con successo
          elemento.innerHTML = ajax.responseText;
			else {
			  // errore di caricamento
			  elemento.innerHTML = "Impossibile effettuare l'operazione richiesta.<br />";
			  elemento.innerHTML += "Errore riscontrato: " + statusText[ajax.status]; 
			}
		} 
	}
}
    // invio richiesta
    ajax.send(null);
  } //end carica testo


}
</script>
</head>
<body>

<div >
<p onClick="Ricevi();" id="p_francesco">
  prova
</p>
<div>

</body>
</html>
Lato server, ho il file content.php:

Codice:
<?php
switch($_REQUEST['action']) {
case 'art': $content = "art";break;
case 'bio': $content = "bio";break;
case 'client': $content = "client";break;
case 'pfolio': $content = "pfolio";break;
case 'mail': $content = "mail";break;
        }

?>
Mettendo la stessa url nell'indirizzo del browser il file è accessibile.

ajax.readyState è 4, mentre
ajax.status mi dà = 0, invece che 200

Che errore è?
frank10 è offline   Rispondi citando il messaggio o parte di esso
Old 02-12-2010, 22:05   #2
frank10
Senior Member
 
Iscritto dal: Feb 2005
Messaggi: 579
Ho scoperto che su IE mi dà errore 404, mentre su Firefox mi dà 0 ...

Avevo scambiato una & con il ? nella query...

Però ora su IE funziona bene, mentre su Firefox continua a darmi errore 0 e non mi mostra il risultato.

Ho provato anche con metodo POST e IE è ok, mentre Firefox mi continua a dare ajax.status=0.

Quale problema potrebbe avere Firefox?
frank10 è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2010, 06:42   #3
SnaKeZ83
Member
 
L'Avatar di SnaKeZ83
 
Iscritto dal: Mar 2006
Città: Veneto
Messaggi: 210
Se posso darti uno consiglio spassionato, usa jQuery piuttosto che programmare in "Javascript puro", in questo modo eviti problemi di cross-browsing.
Inoltre il tutto ti risulterà mooooooooooooooolto più semplice e così potrai concentrarti di più sulla logica dell'applicazione (piuttosto che perderti in tecnicismi).
SnaKeZ83 è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2010, 18:30   #4
frank10
Senior Member
 
Iscritto dal: Feb 2005
Messaggi: 579
Grazie mille del consiglio Snake.
Avevo guardato un po' tutto, ma jQuery ancora no.
E' molto potente e semplice da usare.
Adesso lo controllo meglio anche per Ajax.
frank10 è offline   Rispondi citando il messaggio o parte di esso
Old 03-12-2010, 19:36   #5
bobbytre
Senior Member
 
L'Avatar di bobbytre
 
Iscritto dal: Feb 2010
Messaggi: 466
io preferisco Prototype a JQuery
__________________
I robot hanno scintillanti fondoschiena metallici che non dovrebbero essere baciati.
bobbytre è offline   Rispondi citando il messaggio o parte di esso
Old 04-12-2010, 09:53   #6
frank10
Senior Member
 
Iscritto dal: Feb 2005
Messaggi: 579
Allora, ho provato con jQuery, ma ho problemi anche lì:

il mio php è :
Codice:
<?php
switch($_REQUEST['action']) {
case 'art': $content = "art";break;
case 'bio': $content = "bio";break;
}

echo $_POST['action'];

?>
con GET:
Codice:
$.get("mioIndirizzo/public/Files/PHP/content.php", {action:"art"},  
  function(data) {
    $("#p_francesco").html(data);
  });
In IE6 e Firefox3.6, mi danno entrambi risultato "".

con POST:
Codice:
("mioIndirizzo/public/Files/PHP/content.php", {action:"art"},
  function(data) {
    $("#p_francesco").html(data);
  });
in IE6 mi dà art correttamente, in Firefox invece continua a darmi "".

Ho provato anche:
Codice:
$('#p_francesco').load("mioIndirizzo/public/Files/PHP/content.php", {action:"art"});
che è un POST: IE ok, Firefox no.

e, credo(?), con GET
Codice:
$('#p_francesco').load("mioIndirizzo/public/Files/PHP/content.php", action="art");
Non va in nessuno dei due.

e anche:
Codice:
$.ajax({
url : "mioIndirizzo/public/Files/PHP/content.php", //
   data : 'action=art',    

    success : function (data,stato) {
        $("#p_francesco").html(data);
        $("#p_francesco1").text(stato);
    },
    error : function (richiesta,stato,errori) {
        alert("E' evvenuto un errore. Il stato della chiamata: "+stato);
    }
});
E entrambi i browser mi danno risposta="" e stato = "success".

Insomma non ci siamo.
Riassumendo mi funziona solo qualche chiamata in post solo con IE6.
Qualcuno mi illumina con jQuery? Grazie.
frank10 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Speciale TV in offerta su Amazon: Hisens...
Non c'è pace per Trezor: 347.000 e-mail ...
È un portatile Dell e li vale tut...
Apple iPhone 17 Pro Max 256GB a 1.195€ (...
GPT-6 Astra è davvero AGI o non s...
LG OLED G6S 48'' a 845€ e G6 55'' a 1368...
Mantax Otax: il malware Android che crip...
Musk incassa un altro maxi contratto IA:...
Le vendite di EV sono esplose in tutto i...
Avio si prepara ai test del Dimostratore...
Space Pioneer ha annunciato le cause del...
Anthropic avrebbe nuovi antibiotici cont...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:34.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v