PhoneGap с веб-сервисом Restful - PullRequest
1 голос
/ 20 февраля 2012

Я новичок в телефонной пробке и отдыхе от веб-сервиса.Мой вопрос заключается в том, как я могу объединить их обоих, чтобы у меня было приложение, которое синхронизировалось бы с отдыхающим веб-сервисом.Я пробовал пример спокойного сервиса с jsonp, но phonegap не загружает сервис или, может быть, я что-то упустил.спасибо.

Ответы [ 3 ]

3 голосов
/ 20 февраля 2012

Приведенный ниже код поможет вам понять, как вызвать веб-сервис, и проанализировать его, чтобы отобразить результаты

<html>
<head>
<script src="js/jquery-1.4.2.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
<script>
function bodyload(){
    alert("We are calling jquery's ajax function and on success callback xml parsing are done");
$.ajax({  
    url:'http://www.edumobile.org/blog/uploads/XML-parsing-data/Data.xml',  
    dataType:'application/xml', 
    timeout:10000,  
    type:'POST',  
    success:function(data) {
        $("#bookInFo").html("");
         $("#bookInFo").append("<hr>");
         $(data).find("Book").each(function () {
              $("#bookInFo").append("<br> Name: " + $(this).find("name").text());
              $("#bookInFo").append("<br> Address: " + $(this).find("address").text());
              $("#bookInFo").append("<br> Country: " + $(this).find("country").text());
              $("#bookInFo").append("<br><hr>");
         });
     },  
    error:function(XMLHttpRequest,textStatus, errorThrown) {     
      alert("Error status :"+textStatus);  
      alert("Error type :"+errorThrown);  
      alert("Error message :"+XMLHttpRequest.responseXML);
      $( "#bookInFo" ).append( XMLHttpRequest.responseXML);
    }
    });
}   
</script>
</head>
<body onload="bodyload()">
<button onclick="bodyload()">Ajax call</button>
<p id="bookInFo"></p>
</body>
</html>
1 голос
/ 09 ноября 2012

Я немного изменил ваш AJAX-вызов.Нам нужно опубликовать запрос.Также jquery.js должен быть первым.Попробуйте также вызвать функцию готовности устройства.

$.ajax({  
    url:'http://www.edumobile.org/blog/uploads/XML-parsing-data/Data.xml',  
    dataType:'xml', 
    type:'get',
    cache: false,
1 голос
/ 20 февраля 2012

Он работает так же, как обычный веб-проект (с использованием JSON):

$.ajax({
url: 'http://...',
type: 'POST',
dataType: 'json',
data: data,
success: : function(data) {
//...
},
error: function(xhr, textStatus, errorThrown) {
//...
},
beforeSend: function (xhr) {
 xhr.setRequestHeader('Content-Type', 'application/json');
 xhr.setRequestHeader('Accept', 'application/json');
}
});

Единственное отличие состоит в том, что в PhoneGap вам не нужно беспокоиться о тех же проблемах с политикой происхождения.Это делает использование JSONP не очень необходимым.Если вы не работаете с сервером, который обрабатывает только JSONP, а не JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...