Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
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
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-04-2013, 09:56   #1
ravrecon
Junior Member
 
Iscritto dal: Apr 2013
Messaggi: 3
[Ajax] resposeText vuoto.. perché?

Salve a tutti,
ho un problema con una richiesta asincrona ajax, ha sempre funzionato e ora non ne vuole sapere, non capisco dove sia il punto del problema.

Ho due select, Aziende e Contatti. Inizialmente Aziende viene riempito, in contatti vengono inseriti solo quelli privi di un'azienda. Al selezionare un'azienda voglio fare un'interrogazione asincrona al database e refreshare la select dei contatti inserendo solo quelli relativi all'azienda selezionata.

Di seguito il codice (js):
Codice:
function showContacts(str)
{
	if (str==="0")
	{
		document.getElementById("contact_select").innerHTML="<?php include('path/to/getContacts.php'); ?>";
		return;
	}
	if (window.XMLHttpRequest)
	{
		xmlhttp1=new XMLHttpRequest();
	}
	else
	{// Old IE
		xmlhttp1=new ActiveXObject("Microsoft.XMLHTTP");
	}
	xmlhttp1.onreadystatechange=function()
	{
            if (xmlhttp1.readyState===4)
            { 
                if (xmlhttp1.status===200)          
		{   
                    document.getElementById("contact_select").innerHTML=xmlhttp1.responseText;       
		}
            }
	}
	xmlhttp1.open("get", "path/to/getContacts.php?q="+str,true);
	xmlhttp1.send();

}
Ho testato manualmente il getContacts.php e funziona egregiamente: senza variabile q in get, se q è nulla o se q vale 0 mi elenca i contatti privi di azienda, se inserisco l'id dell'azienda ( q != 0 ) mi elenca i contatti di quell'azienda. Ma solo testandolo manualmente, chiamandolo via ajax niente!

Funziona anche quando, ad esempio, prima seleziono un'azienda (svuota la select senza inserire nulla) e poi riseleziono l'azienda nulla (per ottenere i contatti privi di azienda)

Ho fatto una miriade di test, ho riempito lo script di alert e sembra andare tutto bene, tranne per il fatto che il responseText rimane vuoto (ho provato ad alertare anche quello)

Qualcuno è in grado di aiutarmi? Dove sbaglio? Thanks!
ravrecon è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2013, 20:14   #2
OoZic
Senior Member
 
L'Avatar di OoZic
 
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
1: http://jsbin.com/
2: premi il tab "javascript"
3: incolla il tuo script
4: trova l'errore
5: profit

in questo caso ti manca un semicolon alla riga 25.

lo script corretto è:
Codice:
function showContacts(str) {
	if (str==="0") {
		document.getElementById("contact_select").innerHTML="<?php include('path/to/getContacts.php'); ?>";
		return;
	}

	if (window.XMLHttpRequest) {
		xmlhttp1=new XMLHttpRequest();
	}
	
	else {
		xmlhttp1=new ActiveXObject("Microsoft.XMLHTTP");
	}
	xmlhttp1.onreadystatechange=function() {
            if (xmlhttp1.readyState===4)
            { 
                if (xmlhttp1.status===200)          
		{   
                    document.getElementById("contact_select").innerHTML=xmlhttp1.responseText;       
		}
            }
    };
	xmlhttp1.open("get", "path/to/getContacts.php?q="+str,true);
	xmlhttp1.send();

}
detto questo per semplificarti la vita potresti usare jQuery al posto di scriverti tutto a mano

uno strumento utile è anche jslint.com

ciao
__________________
> This is me <
When you gaze long into an abyss the abyss also gazes into you.
OoZic è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2013, 08:40   #3
ravrecon
Junior Member
 
Iscritto dal: Apr 2013
Messaggi: 3
Quote:
Originariamente inviato da OoZic Guarda i messaggi
1: http://jsbin.com/
2: premi il tab "javascript"
3: incolla il tuo script
4: trova l'errore
5: profit

in questo caso ti manca un semicolon alla riga 25.

lo script corretto è:
Codice:
function showContacts(str) {
	if (str==="0") {
		document.getElementById("contact_select").innerHTML="<?php include('path/to/getContacts.php'); ?>";
		return;
	}

	if (window.XMLHttpRequest) {
		xmlhttp1=new XMLHttpRequest();
	}
	
	else {
		xmlhttp1=new ActiveXObject("Microsoft.XMLHTTP");
	}
	xmlhttp1.onreadystatechange=function() {
            if (xmlhttp1.readyState===4)
            { 
                if (xmlhttp1.status===200)          
		{   
                    document.getElementById("contact_select").innerHTML=xmlhttp1.responseText;       
		}
            }
    };
	xmlhttp1.open("get", "path/to/getContacts.php?q="+str,true);
	xmlhttp1.send();

}
detto questo per semplificarti la vita potresti usare jQuery al posto di scriverti tutto a mano

uno strumento utile è anche jslint.com

ciao
Anche inserendo il ";" non mi viene l'output.. Proverò con jQuery ora.. grazie infinite comunque
ravrecon è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2013, 09:16   #4
OoZic
Senior Member
 
L'Avatar di OoZic
 
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
il codice javascript è scritto correttamente.
se non funziona il motivo è altro probabilmente.

può essere una modifica nel file html e non trova più determinati elementi.
può essere lo script php che richiami ad esser stato modificato.
__________________
> This is me <
When you gaze long into an abyss the abyss also gazes into you.
OoZic è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2013, 09:20   #5
OoZic
Senior Member
 
L'Avatar di OoZic
 
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
scusa forse una banalità ma hai cambiato
/path/to/getContacts.php

con il reale path?
__________________
> This is me <
When you gaze long into an abyss the abyss also gazes into you.
OoZic è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2013, 10:48   #6
ravrecon
Junior Member
 
Iscritto dal: Apr 2013
Messaggi: 3
Quote:
Originariamente inviato da OoZic Guarda i messaggi
scusa forse una banalità ma hai cambiato
/path/to/getContacts.php

con il reale path?
eheheh certo, ho aggiunto solo il ; all'interno del mio script ^^

grazie ancora :-)
ravrecon è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
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 ...
Resident Evil 7 a 30 FPS su uno Snapdrag...
Ottimo portatile Dell a 829€: Intel Core...
Raspberry Pi Desktop, dock e launcher gr...
Due giorni su un supercomputer, poi sul ...
Fire TV Stick 4K Max a 52,99€ e 4K Plus ...
Un algoritmo alla guida di un'azienda in...
Google Pixel 11 Pro con Pixel Buds Pro 2...
iPhone Duo con Face ID e teleobiettivo: ...
512 GB in un solo modulo DDR5: Micron al...
Ti fidi ancora di una sola IA? Arriva l'...
Samsung Galaxy S27 Ultra: un'importante ...
La rincorsa al fotorealismo è 'ol...
Super Smash Bros Melee arriva su Windows...
Xbox Game Pass, tante novità in a...
Samsung copierà Apple? Rincari in...
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: 08:58.


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