Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
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


ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Death Stranding 2 diventa Steam Deck Ver...
TSMC spinge i chip per smartphone verso ...
OpenAI prepara un modello per la cybersi...
Il CMF Phone 3 Pro sta arrivando: tra le...
Le migliori offerte Amazon di oggi: robo...
Altro che ridimensionamento: OnePlus sta...
YouTube batte Netflix come rivale della ...
I nuovi ASUS ROG Zephyrus G14 e G16 (202...
Meno di 200€ per un robot aspirapolvere ...
La CPU torna protagonista: 400 milioni s...
Il nuovo pannello OLED top di gamma di S...
Offerte LEGO Amazon: Formula 1, Harry Po...
Il Motorola Edge 70 Pro sta arrivando e ...
Amazon pronta a sfidare NVIDIA? La lette...
L'IA ridurrà drasticamente il lav...
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:44.


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