2017-03-11 6 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

関連する問題