2017-03-11 36 views
0

我是Javascript,PHP和XML中的新成員。 我的問題是這樣的。我正在使用這個Web服務http://www.webservicex.net/country.asmx?op=GetCountries (這是WSDL:http://www.webservicex.net/country.asmx?WSDL) 我正在使用Jquery BTW。 作爲我的應用程序的一部分,我試圖通過Javascript將響應中的每個國家變成HTML選擇。 但我找不到如何訪問該響應的每個特定元素(國家/地區)。如何讀取Javascript中的WebService響應元素

這是我的代碼段至今:

PHP

<?php 
    $url1 = "http://www.webservicex.net/country.asmx?WSDL"; 
    $client = new SoapClient($url1); 
    $Res = $client->GetCountries(); 
    echo json_encode($Res); 
?> 

的Javascript

在這裏,我要填充時負載的選擇,但我甚至不能訪問響應的一個元素,所以我只是試圖在div元素中打印某些內容以用於測試目的。

window.onload = function() { 
         $.post("process.php", {}, function(response) { 
          var str_res = JSON.parse(response); 
          document.getElementById("Section2").innerHTML = str_res[1]; 
          console.log(response); 
         } 
     } 

我知道「str_res [1]」不起作用,但這正是我想弄明白的。我如何訪問響應元素。 例如獲取「Aruba」並打印或將其添加到我提到的選擇中。 我希望我能夠解釋我的關注,並提前致謝!

回答

0

試試這個

的test.html文件

<html> 
    <body> 
     this is html page, wait to load result 

     <select id="dropdown"></select> 

     <script 
         src="https://code.jquery.com/jquery-3.1.1.min.js" 
         integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" 
         crossorigin="anonymous"></script> 
     <script type="text/javascript"> 
     $.post("test.php", {}, function(response) { 
       var str_res = JSON.parse(response); 
       // console.log(str_res); 
       $.each(str_res, function(i, item) { 
        //console.log(str_res[i]); 
        //console.log('-------'); 

        $('#dropdown').append($('<option>', { 
         value: str_res[i], 
         text : str_res[i] 
        })); 
       }); 


      }); 
     </script> 


    </body> 
</html> 

test.php的文件

<?php 
    $url1 = "http://www.webservicex.net/country.asmx?WSDL"; 
    $client = new SoapClient($url1); 
    $Res = $client->GetCountries(); 

    $xml = simplexml_load_string($Res->GetCountriesResult); 
    $data = array(); 
    foreach ($xml->Table as $key => $value) { 
     array_push($data,(string)$value->Name); 
    } 

    //print_r($data); 
    echo json_encode($data); 
?> 
+0

NICE! 我在跳過字符串必須轉換爲XML對象的部分。這是我的整個邏輯錯誤。 –

+0

@ UlisesR.S。我提供了一個工作的東西,請根據您的需求進行修改。 – codemirror

相關問題