Вытягивание JSON в телефонный разрыв приводит к 404 - PullRequest
0 голосов
/ 16 февраля 2012

Я пытаюсь настроить JSON-запрос для PhoneGap, который извлекает JSONP, созданный с помощью шаблона механизма выражений .Если я перейду прямо к моей странице JSON, http://www.lcbcchurch.com/mobileJSON/homeslideshow,, я получу правильный вывод.Попытка вытащить его в мое приложение для iphone (phonegap) - другая история.Он говорит, что его нельзя найти (404) в консоли.Я проверил все свои ссылки, и я думаю, что я делаю метод обратного вызова правильно, но, похоже, ничего не работает.Пожалуйста помоги.Вот мой код для плагина EE:

{exp:json:entries channel="slideshow" jsonp="yes" callback="{segment_3}" content_type="application/javascript"}

и код приложения:

<!DOCTYPE html>
<html>
    <head>
        <title>PhoneGap Ajax Sample</title>
        <script type="text/javascript" src="phonegap.js"></script>
        <script type="text/javascript" src="js/jquery.js"></script>
        <script type="text/javascript">
            $.ajax({
                       url: "http://www.lcbcchurch.com/mobileJSON/homeslideshow/results",
                       dataType: "jsonp",
                       jsonp: false
                       });
                function results(data) {
                    console.log(data);
                }

            </script>


    </head>
    <body>
        <div id="main">

        </div>
    </body>
</html>

1 Ответ

1 голос
/ 16 февраля 2012

Вы удостоверились, что вы белый список всех внешних хостов в вашем проекте xcode?также ваш ajax-вызов выглядит немного не так ... У вас есть обратный вызов, добавленный как каталог против аргумента ... если вы удалите его и просто вызовите функцию успеха, то это сработает.

с телефонным разрывом, который вы делаетевам не нужно беспокоиться о кросс-домене, все, что вам нужно сделать, это внести в белый список все домены в вашем проекте xcode, добавив новое значение для externalHosts в вашем файле phonegap.plist - установите ключ на «website» и значение на «*», этопоймать все.

$.ajax({
  url: "http://www.lcbcchurch.com/mobileJSON/homeslideshow",
  dataType: "json",
  success:function(data){
    results(data);
  }
});

function results(data) {
  for(var i = 0; i<data.length;i++){
    // this will log all of the images url
    console.log(data[i].image); // just access the part you want by it's name.
  }
}
...