2012-11-06 30 views

回答

8

我有替代方法給你,請注意,我已經使用谷歌的網絡服務在這裏作爲演示目的,你需要用你的網址&解析響應。

import bb.cascades 1.0 

Page { 
    attachedObjects: [ 
     ComponentDefinition { 
      id: optionControlDefinition 
      Option { 
      } 
     } 
    ] 
    function getData() { 
     var request = new XMLHttpRequest() 
     request.onreadystatechange = function() { 
      if (request.readyState == 4) { 
       var response = request.responseText 
       response = JSON.parse(response) 
       var addressComponents = response.results[0].address_components 
       for (var i = 0; i < addressComponents.length; i ++) { 
        var option = optionControlDefinition.createObject(); 
        option.text = addressComponents[i].long_name 
        dropDown.add(option) 
       } 
      } 
     } 

     // I have used goole's web service url, you can replace with your url 
     request.open("GET", "http://maps.googleapis.com/maps/api/geocode/json?address=" + "Ahmedabad" + "&sensor=false", true) 
     request.send() 
    } 
    Container { 
     DropDown { 
      id: dropDown 
     } 
     Button { 
      onClicked: getData() 
     } 
    } 
} 

希望這有助於。

+0

它的工作,返回適量的值,但試圖訪問我的json對象中的字段返回undefined。不知道如何調試它。我很坦白地說,在這個發展中我迷失了方向。 – Tjaart

+0

我使用了一個DataSource,但重要的部分是ComponentDefinition。謝謝! – Tjaart

+0

嗨,如何從這dropDown獲取值並傳遞到我的Web服務url。? – Vendetta

相關問題