在獲取服務器的XML文件的響應,我試圖讓XML響應JavaScript數組一樣:jQuery的AJAX:JavaScript數組
<script type="text/javascript">
var arrayName = [];
var arrayValue [];
$(document).ready(function()
{
$.ajax({
type: "GET",
url: "data.xml",
dataType: "xml",
success: function(xml) { parseXml(xml); }
});
});
function parseXml(xml)
{
$(xml).find("category").each(function()
{
arrayName.push($(this).find("name").text());
arrayValue.push($(this).find("value").text());
});
}
//Do some javascript stuff using arrayName and arrayValue for example:
alert(arrayName[0]);
alert(arrayValue[0]);
</script>
但我不能夠獲取JavaScript數組中的XML響應。
我的XML文件是:
<?xml version="1.0" encoding="utf-8" ?>
<data>
<category id="category1">
<name>Error</name>
<value>41</value>
</category>
<category id="category2">
<name>Warning</name>
<value>23</value>
</category>
<category id="category3">
<name>Info</name>
<value>46</value>
</category>
</data>
請幫我解決這個問題
這可能已經解決了您的問題:將alert添加到回調函數中。它們在響應來自服務器之前執行。 Ajax是**異步**。 – 2011-05-28 14:16:43
嗨菲利克斯,謝謝你的回覆。由於我是jquery的新手,所以我不知道如何有效地使用回調。你能給我看一些以上的代碼片段嗎? – 2011-05-28 17:03:34
請看我的答案。 – 2011-05-28 17:25:31