Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
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.
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


Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
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...
Microsoft Defender: falso allarme sull'a...
Aerei in volo e truppe pronte all'assalt...
Usano Claude per hackerare OpenAI: ricer...
RatHat: il nuovo malware Android usa il ...
Domanda di petrolio in calo di 2,5 milio...
Il meglio delle offerte weekend Amazon a...
Dopo oltre 100 anni di tentativi, l'IA d...
Speciale robot aspirapolvere in offerta ...
L'IA sta cancellando i lavori junior? Il...
Debutta Chery Italia: non più sol...
Addio ai dischi? Xbox ci aveva già...
Speciale TV Amazon: 4 modelli, da 139€ f...
Il nuovo iPhone 18 Pro Max ha una ricari...
Speciale smartphone Android: 7 modelli i...
La Camera USA presenta il conto: i data ...
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: 11:52.


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