2012-04-23 3 views
0

Ive는 phonegap으로 Android를 개발하고 있습니다. 아무도 내가 어떻게 jquery와 AJAX를 통해 내 안드로이드 응용 프로그램을 통해 JSON 문자열을 출력 내 webservice를 호출 할 수 있습니까? 도와 주셔서 대단히 감사합니다.jquery, Android가있는 AJAX를 통한 JSON 문자열

내 JScript의이 코드 조각이 :

{"Contacts":{"Contact":{"@phoneNumber":"0002221111","@countryCode":"1","@typeCode":"73","@type":"Default, Mobile, DefaultContactNumber","@id":"04359c0dcca64638a5fcbb17b386ceed","Salutation":"Mr.","FirstName":"Tom","MiddleName":null,"LastName":"Cruise","NameSuffix":null,"PrimaryAddress":{"Street":{"#cdata-section":"3135 Teodoro Drive"},"Street2":{"#cdata-section":""},"City":{"#cdata-section":"Detroit"},"State":"MS","Country":"US","Postal":"48228"}}} 

여전히 경고를 받고 메신저

$(document).bind("mobileinit", function(){ 
$.support.cors = true; 
$.mobile.allowCrossDomainPages = true; 
}); 

$.ajax({ 
    type: "POST", 
    timeout: moneTimeout, 
    url: "http://10.0.2.2:49878/SampleProject.aspx?p_trxn_type=doLogin&p_phoneNumber="+phoneNumber, 
    error: function (xhr, status, errorThrown) 
    { 
    alert(xhr.status); 
    }, 
    dataType : "json", 
    cache:false, 
    async:false, 
    success: function (ret) 
    { 
    try{ 
    var jsonObj = eval('(' + ret + ')'); 
    alert(jsonObj.Contacts.Contact['@phoneNumber']); 
    alert(jsonObj.Contacts.Contact.LastName); 
    alert(ret.Contacts.Contact['@phoneNumber']) 
    alert(ret.Contacts.Contact.LastName); 
    } 
    catch(ex){ 
    alert(ex.message); 
    } 
    console.log(ret); 
    alert(ret.length); 
    alert(ret); 
    alert(typeof ret); 
    alert("success"); 
    } 
}); 

하고 여기에 난 내 C#을 웹 서비스에서 얻을 좋아하여 JSON 배열, : : 오류 및 내 C# webservice에서 JSON 문자열 배열을 표시하지 않습니다

+0

PhoneGap 특정 메서드를 사용하거나 jQuery ajax 루틴을 재생할 의향이 있습니까? – Moss

+0

시작하기 가장 좋은 곳은 http://www.w3schools.com/jquery/jquery_ajax.asp – mossplix

+0

@ 재퍼 : 내 질문을 편집하고 jscript의 코드를 추가했습니다. – Newbie

답변

1

jquery 특정 찾으십시오. 어쩌면이

$.getJSON("http://yoururl.com?jsoncallback=?", { 
     requestParam: "someValue", }, function(data) { 
     //handle data 
     } 
    ); 

이 더 많은 정보를 위해, 당신은 확인할 수 있습니다 도움이 될 것입니다 : http://api.jquery.com/jQuery.getJSON/

0

이 나를 위해, 내가 안드로이드에 내 폰갭 개발을 위해 이클립스 힐리오를 사용하고 있습니다. 나는 다음의 코드를 작성했다 :

var myJsondoc = JSON.parse(data.text); 
var writeintoHTML = document.getElementById('the_list'); 
writeintoHTML += myJsondoc.data.items[0].player.default; 

편집기가 예기치 않은 토큰으로 "기본"에 대해 불평 (유튜브 API와 JSONC 형식을 사용). 처음에, 나는 그것을 무시합니다. 그리고 그것은 컴파일하고 내 HTC 생생하게 실행할 수 있습니다. 그러나 다른 장치 (Galaxy Tab 2.2, Galaxy S 2.3.4)에서이 장치를 테스트했을 때 두 장치 모두 작동하지 않습니다. 그들은 모두 "예기치 않은 토큰 기본 ..... 파일"오류가 있습니다. 따라서 YouTube API JSON 형식을 사용하도록 코드를 변경했습니다. 이제 모든 장치가 작동합니다. JSON 형식에는 필요한 대역폭보다 더 많은 데이터가 포함되어 있으므로 가능한 한 대역폭 사용량을 줄이려고합니다. 결론, JS는 oprand의 이름이 같을 때 변수에 대해 불평 할 것이라고 생각합니다.

관련 문제