HTTP методы в PhoneGap - PullRequest
       2

HTTP методы в PhoneGap

1 голос
/ 04 января 2012

Каков наилучший способ сделать HTTP GET в PhoneGap?Я не хочу использовать Java для этого, поэтому теперь вопрос в том, следует ли это делать в jQuery или в JavaScript.Я читал, что JavaScript в PhoneGap в основном используется для событий пользовательского интерфейса.Есть ли другой способ выполнить HTTP GET в PhoneGap?

РЕДАКТИРОВАТЬ: В книге, написанной Эндрю Ланни ( Руководство для начинающих PhoneGap ), автор упоминает и приводит примеры доступа к удаленным ресурсам.использование API поиска Twitters - отправка HTTP-запросов на сервер.В этом случае это не очень полезно для меня, потому что он получает объект JSON в ответ от сервера.В моем приложении мне нужен строгий текст HTML в качестве ответа.

РЕДАКТИРОВАТЬ (как предложено codemonkey и Simon MacDonald):

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.css" />  
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.3.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.js"></script>

<script type="text/javascript">
$.get('http://www.google.com', function(data) {
      alert(data);
    });
</script>

В этом случае из предложения следует вопрос:

Должен ли я использовать внешние библиотеки (jQuery-mobile / jQuery) или лучше включить их в проект.Конечно, с первым предложением я буду заставлять пользователя загружать библиотеки каждый раз, когда он будет вынужден их использовать, что немного неэффективно, или я должен просто включить их в проект?В этом случае, каково правильное расположение в проекте (файловая система) для размещения библиотек jQuery, ' www ', ' libs ', ' res 'и т.д.?

Как и в случае с предложением Саймона Макдональда:

<script>
function get() {
        var request = new XMLHttpRequest();
        request.open("GET", "http://www.google.com", true);
        request.onreadystatechange = function() {
            if (request.readyState == 4) {
                if (request.status == 200 || request.status == 0) {
                    // -> request.responseText <- is a result
                }
            }
        }
        request.send();
    }
</script>

Преимущество: дополнительные библиотеки не нужны

Ответы [ 2 ]

4 голосов
/ 04 января 2012

Что ж, вы можете использовать то, что написал Эндрю, поскольку нет причины, по которой вы не можете просто получить html-код вместо JSON из удаленного URL-адреса.Вы можете использовать jQuery для выполнения GET, но если вам не нужно добавлять эту библиотеку, вы можете просто использовать XHR.

Вот краткое руководство, которое я написал:

http://simonmacdonald.blogspot.com/2011/12/on-third-day-of-phonegapping-getting.html

В строке:

var tweets = JSON.parse(request.responseText);

вы просто сделаете:

var myBody = request.responseText;

, поскольку это будет полный HTML-код запрашиваемой страницы.

0 голосов
/ 04 января 2012

Я думаю, что jQuery будет вашим лучшим вариантом. PhoneGap не предоставляет ничего для выполнения запросов GET. Его главная задача - разрешить вашему приложению HTML / JS получать доступ к собственным ресурсам.

...