-1

こんにちは、Web サービスから返された xml データから国名をバインドしようとしているモバイル アプリを開発しています。

次のxmlがあります。XML データはかなり大きいので、サンプルとしていくつか貼り付けました。

<NewDataSet>
  <Table>
    <detail>
     <country country_sk="2" currency_sk="165" country_name="Afghanistan" country_telecom_code="93  " country_code="AF" />
     <country country_sk="5" currency_sk="166" country_name="Albania" country_telecom_code="355 " country_code="AL" />
     <country country_sk="62" currency_sk="167" country_name="Algeria" country_telecom_code="213  " country_code="DZ" />
    </detail>
  </Table>

以下のコードを使用して Web サービスにアクセスしています。問題は成功関数にあると思います。

<script>
$(document).ready(function(){
$.ajax({
type: "GET",
url: "http://www.url.asmx/countryList",
dataType: "xml",
success: function (xml) {
//var result = $(xml).find("country[country_sk=2]");
//var item = $(this), 
//itemid =  item.attr('id');
//         alert(data.nested.nestedString);
  //  alert(data.nested.nestedInt)

  var select = $('#mySelect');
  $(xml).find('country').each(function(){
    var value = $(this).attr('country_name');
    select.append("<option country_name='"+ country_name +"'>"+country_name+"</option>");
    });
        select.children(":first").text("--Select country--").attr("selected",true);
}
}); 
});

</script>

これがドロップダウン用のHTMLコードです

  <select id="mySelect"> 
          <option>loading</option> 
  </select> 
</div>


こんにちは、コードを変更して問題を発見したと思いますが、エラーのポップアップが表示されます

「TypeError: null のプロパティ 'documentElement' を読み取ることができません」と述べています ##

$(document).ready(function(){
$.ajax({
    url: "http://www.mobwebservice/url.asmx/countryList",
    type: "POST",
    dataType: "xml",
    data: soapMessage,
    processData: false,
    ContentType: "text/xml; charset=utf-8",
    success: function (xml) {
    //var xml = '<NewDataSet>  <Table>    <detail>     <country country_sk="2"currency_sk="165" country_name="Afghanistan" country_telecom_code="93  " country_code="AF" />     <country country_sk="5" currency_sk="166" country_name="Albania" country_telecom_code="355 " country_code="AL" />     <country country_sk="62" currency_sk="167" country_name="Algeria" country_telecom_code="213  " country_code="DZ" />    </detail>  </Table></NewDataSet>';
    var select = $('#mySelect');
    $(xml).find('country').each(function(){
    var value = $(this).attr('country_name');
    select.append("<option value='"+ value +"'>"+value+"</option>"); //SHould be value
    });

 select.val("-1"); //<-- Just use val
    },
    error:
    function (XMLHttpRequest, textStatus, errorThrown) {
    alert('Fail');
    alert(errorThrown);
    }
}); 
});

エラー機能を追加しました。だから私はポップアップを取得しています

TypeError: null のプロパティ 'documentElement' を読み取れません このエラーの解決を手伝ってください

4

1 に答える 1