2016-08-02 123 views
0

我無法將響應附加到我的選擇列表中,即地址標記。無法將Ajax XML響應值附加到選擇列表

我試過$(.each)功能,但仍然無法實現它。

的JavaScript:

<script> 
/*Ajax request to get list of address*/ 
$.ajax({ 
    url : url + 'Customer/get_address_list', 
    data :{ 
     projectId : 1 
    }, 
    dataType : 'xml', 
    contentType : 'application/x-www-form-urlencoded', 
    crossDomain : true, 
    timeout : 10000, 
    async : false, 
    cache : false, 
    type : 'POST', 
    success : function(xml) { 
     $(xml).find('address').each(function(){ 
      var value = $(this).text(); 
      $("#address").append("<option " + value + "</option>"); 
     }); 
    } 
}); 
</script> 

HTML:

<div class="col-lg-12 columns"> 
    <select id="address" name="address" class="col-lg-12 columns" > 
    </select> 
</div> 

服務器響應:

<addressList> 
    <address>100East</address> 
    <address>100KennedyEast</address> 
    <address>100BoulevardEast</address> 
    <address>110KennedyBoulevardEast</address> 
    <address>1002BoulevardEast</address> 
    <address>3002KennedyBoulevardEast</address> 
    <address>17002BoulevardEast</address> 
    <address>1802KennedyBoulevardEast</address> 
    <address>2084BoulevardEast</address> 
    <address>8804KennedyBoulevardEast</address> 
    <listException>false</listException> 
    <listExceptionId>0</listExceptionId> 
    <listSize>10</listSize> 
    <nextPage>false</nextPage> 
    <pageNumber>0</pageNumber> 
    <totalPages>0</totalPages> 
    <totalRecords>0</totalRecords> 
</addressList> 
+0

什麼是您收到的生成html或錯誤,如果有的話。另外,你是否注意到你的'option'開始標籤是missin'>'? –

+0

沒有問題的語法選項標籤..我關閉和檢查仍然是一樣的..沒有錯誤,但我想追加到我的HTML選擇標記的響應值 –

+0

您發佈的服務器響應是來自ajax調用嗎?或者你知道這將是從一些文件等這樣的?簡而言之,如果你在'success後面加上'console.log(xml)',你的ajax會返回什麼樣的結果:function(xml){'< - this line? –

回答

0

hmm..i我不知道問題出在哪裏,在這一點上。代碼似乎很好。也許這與解析xml有關。 我可以建議使用$.parseXML嗎? jQuery Docs

UPDATE: 我不知道,但我認爲這個問題可能是你試圖從服務器來響應使用$ .find方法。它不是一個jQuery對象,也不是一個html dom,因此我不確定使用$(xml)是否會生成一個jQuery對象,您可以調用find