Невозможно получить результаты JSON с помощью PhoneGap и jQuery в приложении iPhone - PullRequest
1 голос
/ 13 декабря 2011

В настоящее время я использую этот код:

<script type="text/javascript">

   $(document).ready(function() {
    var url =  "http://openexchangerates.org/latest.json";
    $.getJSON(url + "?callback=?", null,function(data) {

       var currencies = [ "USD", "EUR", "JPY", "GBP", "CHF", "AUD", "CAD", "EUR", "SEK", "HKD", "NOK", "NZD", "MXN", "SGD", "KRW", "RON", "BGN", "RUB", "PLN", "DKK" ];
       var myElementToAppendTo = $("#content");

       $.each(data.rates, function(key, value) {
         value2 = 1 / value;
         valueForEuro = value;  
         value = accounting.formatMoney(value, "", 4, ",", "."); 
         value2 = accounting.formatMoney(value2, "$", 4, ",", ".");

         euro = data.rates.EUR;
         value3 = valueForEuro / euro;
         value4 = 1 / value3;
         value3 = accounting.formatMoney(value3, "", 4, ",", "."); 
         value4 = accounting.formatMoney(value4, "&euro;", 4, ",", ".");

            if(jQuery.inArray(key,currencies) > -1) {
                myElementToAppendTo.append('<div class="currencyBox"><div class="currency">'+key+'</div><div class="tab1"><div class="half">'+value+'</div><div class="half">'+value3+'</div></div><div class="tab2"><div class="half">1 '+key+' = '+value2+' </div><div class="half">1 '+key+' = '+value4+' </div></div></div>');
            }
       });

    });
    });


</script>

Он работает на любом браузере локально / на сервере, но при создании приложения для iPhone результаты JSON не отображаются Есть идеи почему?

Ответы [ 2 ]

4 голосов
/ 13 декабря 2011

Вам необходимо добавить в белый список сервер, к которому вы подключаетесь (это также может быть символ подстановки).Это делается в вашем файле PhoneGap.plist.Из документов Phonegap:

Кроме того, последний код имеет новую функцию белого списка.Если вы ссылаетесь на внешние хосты, вам нужно добавить хост в PhoneGap.plist под ключом «ExternalHosts».Подстановочные знаки в порядке.Поэтому, если вы подключаетесь к «http://phonegap.com",», вам необходимо добавить «phonegap.com» в список (или использовать подстановочный знак «* .phonegap.com», который также будет соответствовать поддоменам).

0 голосов
/ 13 декабря 2011

Не уверен, поможет ли это, но в итоге я воспользовался плагином Google Feeds, потому что это было намного проще, когда у меня возникла такая же проблема. Пришлось прыгать через много обручей, чтобы сделать это без.

Ссылка: http://jquery.malsup.com/gfeed/

В противном случае вам нужно изменить ваш список ...

Phonegap читает настройку ExternalHosts для проверки того, что можно разрешить.

Откройте phonegap.plist - там должен быть ключ, и вы должны добавить новый для своего домена.

...