Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro
HONOR Pad X9 Max mette un pannello IPS da 13 pollici con risoluzione 2,5K e refresh a 120 Hz davanti a una batteria da 10.100 mAh e a quattro altoparlanti. Il listino parte da 399,90 euro, per un progetto molto chiaro e ambizioso: schermo ampio, buon audio e giornate lontano dalla presa, a un prezzo che non pesa sul portafoglio
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Con la quattordicesima generazione Lenovo ridisegna il suo ThinkPad più iconico attorno al nuovo Space Frame e ai processori Intel Core Ultra Series 3. Resta sotto 1Kg, è molto più semplice da riparare e si rivolge al professionista che lavora in mobilità, con un prezzo da prodotto di vertice.
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro
Le Jabra Evolve3 85 non sono semplicemente cuffie Bluetooth con cancellazione del rumore. Sono un dispositivo professionale pensato per chi trascorre gran parte della giornata in riunione, al telefono o davanti a un assistente basato sull'intelligenza artificiale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-12-2014, 17: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, 22: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, 23: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 10-12-2014, 00: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, 10: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, 10: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, 10: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, 11: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, 11: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, 12: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, 14: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


HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro HONOR Pad X9 Max recensione, schermo ultra large...
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro Jabra Evolve3 85: le cuffie sia per l'intratteni...
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB...
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
Elon Musk conferma la fine del Cybertruc...
CrowdStrike acquisisce Fiddler: nasce Fa...
QNAP ES2486AFdc, storage all-flash e sup...
GTA 6, il preload svela i dettagli tecni...
OPPO non si ferma: ufficializzato l'arri...
No, questo non è il nuovo Registro di si...
Ritardi nell'Entry/Exit System europeo, ...
CMF Speaker S: piccolo, originale e con ...
Red Hat mette gli agenti IA al lavoro su...
Claude può sognare: l’IA di Anthropic ri...
Xiaomi Pad 7 12GB/256GB a 324,96€ su Ali...
Fox chiude l'acquisizione di Roku da 22 ...
Recensione vivo X Fold6: quando smartpho...
Xiaomi attacca l'Europa: proseguono i pr...
Toshiba Canvio Basics da 4TB a soli 81€ ...
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: 23:21.


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