Получение данных JSON / JSONp из файла PHP на внешнем сервере через XUI в приложении PhoneGap? - PullRequest
0 голосов
/ 07 ноября 2011

В данный момент я работаю над мобильным приложением. Использование PhoneGap 1.1.0 на iOS 5 iPhone 4.

У меня работают некоторые основы. Я долго над этим не работал, и теперь мне нужно иметь возможность получать некоторые данные JSON с внешнего сервера в Интернете.

Я использую javascript Framework XUI, а не jQuery из-за размера файла. XUI - это хороший небольшой JavaScript-фреймворк, но в нем отсутствует документация.

Я хочу получить данные с помощью XHR-запроса. Но по какой-то причине я сейчас не могу получить доступ к данным (ранее у меня был рабочий запрос, но я некоторое время не работал над проектом и не знаю, что происходит, поэтому искал кого-то, кто бы мне помог), и я не знаю почему.

Запрос ниже (только запрос данных из твиттер-интерфейса в настоящее время):

x$( '#button' ).touchstart(function(e) {
           x$('#test').xhr('https://twitter.com/status/user_timeline/MY_TWITTERNAME.json?count=10&callback=?t', {
                    async: true,
                    method: 'post',
                    callback: function() {
                        alert("The response is " + this.responseText);
                    }
            });
});

DIV '#test' - это просто пустой DIV, но я не уверен, нужно ли объявлять DIV в этом селекторе.

Я также настроил внешние хосты в PhoneGap.plist для включения домена «www.twitter.com».

Любая помощь будет принята с благодарностью, так как я не могу понять, в чем дело.

1 Ответ

2 голосов
/ 08 ноября 2011

Получил это работает. Небольшая проблема в моем файле PhoneGap.plist.

Код моего файла, который я использовал для вызова сервера, был:

x$( '#button' ).touchstart(function(e) {
                x$().xhr('http://www.url.co.uk/Mobile/test.php', 
                    function(){
                        alert(this.responseText);
                    }
                );
});

Нужно было убедиться, что URL был полным и правильным, включая 'http://'.

Затем я пошел и убедился, что мой PhoneGap.plist был верным. Я попробовал несколько разных изменений, а затем обнаружил, что ошибка в том, что в конце URL есть косая черта ('www.myurl.com/').

Если вы используете PhoneGap 1.1.0, вам нужно назвать внешние домены, к которым вы будете обращаться, в PhoneGap.plist. Они должны быть названы в разделе «Внешние хосты», и при указании домена хоста он должен быть в следующем формате «www.domainname.com» и не включать «http://'.

Надеюсь, это кому-нибудь еще поможет.

...