Torna indietro   Hardware Upgrade Forum > Software > Programmazione

GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo
Il Gigabyte Gaming A16 offre un buon equilibrio tra prestazioni e prezzo: con Core i7-13620H e RTX 5060 Laptop garantisce gaming fluido in Full HD/1440p e supporto DLSS 4. Display 165 Hz reattivo, buona autonomia e raffreddamento efficace; peccano però le USB e la qualità cromatica del pannello. Prezzo: circa 1200€.
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-12-2014, 16:52   #1
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
[Ajax] Leggere in contenuto da un URL esterno

Salve a tutti,
sicuramente è un problema trattato molte volte, ma nonostante le ricerche, non sono riuscito a trovare una valida soluzione.

Tramite Jquery, vorrei leggere il contento di una pagina esterna al mio dominio, contenente una tabella, dopo averla letta fare una conversione in testo da inserire in un DIV.

Il problema riguarda solo la prima parte, cioè la lettura del contenuto tramite URL.

Ho provato con:
[code]
var content;
$.ajax({
url: url,
type: 'GET',
success: function (result) {
content = result;
}
});
[code]
Ma non succede nulla.

Per testare la mia funziona ho provato a valorizzare "content" a mano, come faccio ad applicargli la mia funzione, cioè:
Codice:
function showText (content){
var textToShow;
$('table#GetFeatureInfoTable tr.cellValue').each(function () {
	$('table#GetFeatureInfoTable tr.cellValue td').each(function () {
		if ($(this).hasClass('ID')) {
			textToShow = '<div class="featuredID">id: ' + $(this).html() + '</div>';
		}
		if ($(this).hasClass('DESCRIPTION')) {
			textToShow = textToShow + '<div class="description">Descrizione: ' + $(this).html() + '</div>';
		}
	});
});
}
Il progetto è in Asp.net, posso risolvere in maniera diversa?

Grazie.
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2014, 21:22   #2
BlackAuron
Member
 
Iscritto dal: May 2006
Messaggi: 86
Per farla breve ... non puoi a causa della same origin policy. http://en.wikipedia.org/wiki/Same-origin_policy
esistono trucchetti per raggirarla, ma non sono affidabili, e son solitamente lenti.
BlackAuron è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2014, 22:01   #3
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Capisco, però l'URL interrogato non è altro che un server locale presente nella mia rete locale...
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2014, 23:24   #4
OoZic
Senior Member
 
L'Avatar di OoZic
 
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
Qual'è l'URL della pagina dove gira lo script e qual'è quello della risorsa che vuoi includere?

Eventualmente devi attivare CORS sul tuo webserver
http://en.wikipedia.org/wiki/Cross-o...source_sharing
__________________
> 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 10-12-2014, 09:19   #5
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Potresti lasciare che sia il server a fare la get sull'altro dominio e fargli inviare la risposta sulla tua pagina. In pratica la pagina del dominio A fa una richiesta ajax (preferibilmente una post) verso il suo server passando come parametro l'url di una pagina appartenente al dominio B, il server fa una richiesta per tale url ed inserisce la risposta nella medesima chiamata ajax. Se il dominio B richiede l'utilizzo dei cookie la cosa si complica un po', soprattutto se è necessaria l'autenticazione, ma è comunque fattibile.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 10-12-2014, 09:42   #6
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Si tratta di url locali, del tipo http://nome-computer:8080/server.exe

Ho trovato una libreria Jquery che da supporto per CROSS, cosa ne pensate?
La conoscete?

Daniels118, potresti darmi qualche dettaglio in più?

Grazie.
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 10-12-2014, 09:50   #7
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da robertino_salemi Guarda i messaggi
Si tratta di url locali, del tipo http://nome-computer:8080/server.exe

Ho trovato una libreria Jquery che da supporto per CROSS, cosa ne pensate?
La conoscete?

Daniels118, potresti darmi qualche dettaglio in più?

Grazie.
Considera che per un utente qualsiasi che si trovi ad utilizzare quel sito quell'url risulterebbe irraggiungibile...
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 10-12-2014, 10:03   #8
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Considera che per un utente qualsiasi che si trovi ad utilizzare quel sito quell'url risulterebbe irraggiungibile...
Si tratta di un progetto non pubblico, ma utilizzato solo all'interno di una LAN.

Se eseguo una richiesta del tipo:
Codice:
$.ajax({
	type: 'POST',
	url: my_url,
	crossDomain: true,
	dataType: 'json',
	success: function (responseData, textStatus, jqXHR) {
		console.log(responseData);
	},
	error: function (responseData, textStatus, errorThrown) {
		console.warn(responseData, textStatus, errorThrown);
		alert('CORS failed - ' + textStatus);
	}
});
la console mi restituisce:
Codice:
Bloccata richiesta multiorigine (cross-origin): il criterio di corrispondenza dell’origine non consente la lettura della risorsa remota da my_url È possibile risolvere il problema spostando la risorsa sullo stesso dominio o attivando CORS.
Grazie.
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 10-12-2014, 10:47   #9
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Ho dato un'occhiata al plugin che hai trovato, è veramente interessante.
In questa pagina è spiegato come funziona, il quarto metodo (Setting up a local proxy) fa praticamente quello che ti dicevo prima.
Gli altri metodi presuppongono che tu abbia la possibilità di modificare il servizio presente sull'altro dominio in modo da adeguarlo alle richieste cross-dominio, il proxy invece è più flessibile (e direi anche più immediato), valuta tu cosa puoi utilizzare e quale metodo ritieni più conveniente.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 10-12-2014, 11:03   #10
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da robertino_salemi Guarda i messaggi
Si tratta di un progetto non pubblico, ma utilizzato solo all'interno di una LAN.

Se eseguo una richiesta del tipo:
Codice:
$.ajax({
	type: 'POST',
	url: my_url,
	crossDomain: true,
	dataType: 'json',
	success: function (responseData, textStatus, jqXHR) {
		console.log(responseData);
	},
	error: function (responseData, textStatus, errorThrown) {
		console.warn(responseData, textStatus, errorThrown);
		alert('CORS failed - ' + textStatus);
	}
});
la console mi restituisce:
Codice:
Bloccata richiesta multiorigine (cross-origin): il criterio di corrispondenza dell’origine non consente la lettura della risorsa remota da my_url È possibile risolvere il problema spostando la risorsa sullo stesso dominio o attivando CORS.
Grazie.
Il server web che risponde all'indirizzo my_url deve aggiungere l'header Access-Control-Allow-Origin specificando * intendendo che chiunque lo possa richiamare o specificando il nome dell'host abilitato al CORS. Se non fai questo non può funzionare solo con il supporto lato client.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 11-12-2014, 13:53   #11
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Ho risolto così:
Codice:
$.ajax({
    url: jsonUrl,
    type: 'GET',
    crossDomain: true,
    dataType: 'jsonp',
    dataCharset: 'jsonp',
    //contentType: 'application/json',
    success: function (result) {
        //my_code
    },
    error: function (result) {
        //my_code
    }
});
JsonP serve ad eseguire chiamate Ajax verso altri domini.
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Lapt...
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Start Cup Puglia 2025: il 16 ottobre la ...
Incentivi auto elettriche, falsa partenz...
Silence crea anche in Francia una rete d...
La realtà mista al servizio degli...
Nothing ha un altro smartphone in progra...
Decisione storica ad Amburgo: i cittadin...
Questo è il nuovo motore elettric...
HUAWEI WATCH GT 6: lo smartwatch 'infini...
Fotografia con AI: ecco Caira, la macchi...
PlayStation 6 vs Xbox Magnus: il rumor s...
DJI Osmo Action 4 a soli 208€ su Amazon:...
Irion, la data governance diventa strate...
EHang VT35: debutta in Cina il nuovo aer...
Cooler Master MasterLiquid Atmos II 360:...
Trapela in rete la roadmap dei nuovi gio...
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: 03:45.


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