Получение данных JSON/JSONp из файла PHP на внешнем сервере через XUI в приложении PhoneGap?

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

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

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

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

Запрос ниже (просто запрос данных из твиттера API в настоящее время):

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 ответ

Решение

Получил это работает. Небольшая проблема в моем файле 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://".

Я надеюсь, что это помогает кому-то еще.

Другие вопросы по тегам