Получение данных 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://".
Я надеюсь, что это помогает кому-то еще.