- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- [Ajax] Leggere in contenuto da un URL esterno
-
[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:
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è: [code] 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>'; } }); }); }
Grazie.
-
Si tratta di url locali, del tipo http://nome-computer:8080/server.exe
Ho trovato una libreria Jquery che da supporto per [url=http://www.ajax-cross-origin.com]CROSS, cosa ne pensate?
La conoscete?Se eseguo una richiesta del tipo:
$.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:
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.
-
Ho risolto così:
$.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.
-
io personalmente ho rubato i risultati calcistici dal livescore.com
Una pagina php che mi gestisce la connessione e tramite la funzione get_file_contents, faccio una copia.
Pulisco il codice
e lo stampo.
Ora tamite JS ( ajax ) ho ricreato il tutto.visibile qui: bookmakersonline.biz
Ultima cosa: inserisci sempre 'cache: false' così eviti che venga utilizzata la cache del browser
-
Ahahahah, complimenti!
Ecco, il cache settato a false è molto, ma dico molto, interessante...