Ciao a tutti.
Sul mio sito devo connettermi a dei dati JSON pubblicati su un server esterno.
La url di riferimento è la seguente: http://www.libreriadelsanto.it/p/categories/bst.tl
Le limitazioni Cross-domain di Javascript inizialmente mi hanno portato a realizzare una pagina proxy sul mio server per il quale avevo preso spunto dallo script PHP pubblicato su questo POST: http://forum.html.it/forum/showthrea...ighlight=proxy
In locale tutto funziona perfettamente.
Questo è il mio script funzionante (dove getjson.php è il mio script proxy):
codice:
$url="http://www.libreriadelsanto.it/p/categories/bst.tl";
$.ajax({
type: "GET",
url: "getjson.php?URL=" + $url,
dataType: 'json',
success: function(cat)
{
for(var n = 0; n < cat.length; n++)
{
cat_id=cat[n].id;
cat_nome=cat[n].nome;
cat_tipologia=cat[n].tipologia;
cat_livello=cat[n].livello;
arr_categorie_prodotti[n]= new Array(cat_id,cat_nome,cat_tipologia,cat_livello);
}
},
error:function(XMLHttpRequest, status, error){
//alert("XMLHttpRequest: "+XMLHttpRequest);
alert("Impossibile recuperare i Dati delle categorie: "+status);
//alert("Error: "+error);
//alert("XMLHttpRequest readyState: "+XMLHttpRequest.readyState);
//alert("XMLHttpRequest responseText: "+XMLHttpRequest.responseText);
},
beforeSend: function(){
//alert("BEFORELOADING")
},
complete: function(){
//alert("COMPLETE")
}
});
Ottengo il mio Json e metto i dati dentro un array.
Quando però sono andato a pubblicare online il mio script, sono iniziati i problemi.
Le librerie CURL non sono installate.
Ora devo assolutamente risolvere questo problema.
Da come ho capito le strade possibili sono 2, ma sono aperto a nuove soluzioni
(Considerando che io non ho alcun accesso al sito remoto da cui i dati vengono prelavati):
Soluzione 1) Utilizzare il JSONP, che dovrebbe abbattere le problematiche cross-domain.
Il problema e che ho fatto delle prove per utilizzare JSONP con la mia URL di riferimento, ma non riesco proprio a farlo funzionare.
Jquery sul metodo getJSON dovrebbe avere implementato il JSONP, ma io proprio non riesco a farlo funzionare
Ma lo script lato server deve essere abilitato per sfruttare JSONP, oppure rimane invariato?
Riuscite ad aiutarmi nella realizzazione dello script, oppure a suggerirmi degli esempi funzionanti?
Soluzione 2) Realizzare uno script proxy con una tecnologia diversa da Curl. In questo caso non so se sia possibile realizzarlo ed è per questo che principalmente ho scritto su questo Forum
Avete esperienza in merito?
Potete aiutarmi in uno dei 2 modi oppure suggerirmi un ulteriore strada?
Grazie, maxtac