Fai in modo che il mio script jQuery Ajax utilizzi CORS

Ho creato un’applicazione che legge i dati tramite AJAX da un sito Web esterno. Funziona bene ma ho scoperto in un’altra domanda che se voglio comprarlo per BlackBerry 7, con Webworks o PhoneGap, potrei aver bisogno di usare qualcosa chiamato CORS .

Come posso convertire il mio script seguente per fare la stessa cosa se non usando ‘CORS’?

 $("#page_all").live('pagebeforecreate', function() { $.get('http://mysite.com/mobile/data/data_all.php',function(data){ $('.content').empty(); $(data).find('market').each(function(){ var $market = $(this); var html = '
'; html += '

' + $market.attr('date') + '

'; html += '
'; $('#result').append(html).trigger( "create" ); $('#result .loading').remove(); }); }); });

probabilmente stai colpendo il dominio (ontariosheep.org) da un altro nome di dominio e questo porta il dominio incrociato nel sondaggio.

CORS è solo un modo per risolvere questo problema, e deve essere il tuo server che ospita data_all.php che deve essere impostato per avere anche nell’intestazione della risposta la proprietà:

 Access-Control-Allow-Origin: * 

oppure, puoi usare l’altro metodo comune chiamato JSONP .

usando il metodo JSONP, la tua chiamata dovrebbe apparire come:

 var url = "http://ontariosheep.org/mobile/data/data_all.php"; $.get(url + "?callback=?", function(data) { // your method body }); 

È ansible triggersre CORS in jQuery specificamente con

 $.support.cors = true; 

Inoltre, assicurati di configurare correttamente la configurazione del tuo widget (config.xml) e aggiungi

  

o quantomeno