首页 > 代码库 > Ajax嵌套

Ajax嵌套

把全国省市的两个XML文件整合成一个JSON格式的数据
<script type="text/javascript">
$(function () {
$.ajax({
type: "get",
url: "/XmlData/Provinces.xml",
datatype: "xml",
success: function (xml) {
$("body").append("{");
$(xml).find("Provinces > Province").each(function (i) {
$("body").append("{\"PID\":\"" + $(this).attr("ID") + "\",\"ProvinceName\": \"" + $(this).attr("ProvinceName") + "\",\"Citys\":[");
//根据省份,请求读取该省的市
GetCitys($(this).attr("ID"));
//第二个请求end
$("body").append("]},<br/>");
});
}
});
})
//第二次请求
function GetCitys(pid) {
$.ajax({
type: "get",
url: "/XmlData/Cities.xml",
datatype: "xml",
async: false,//注意!!这个为必要的参数,不然这个会在上面的Ajax请求后才执行
success: function (xml) {
$(xml).find("Cities > City[PID=" + pid + "]").each(function (i) {
$("body").append("{\"CityID\":\"" + $(this).attr("ID") + "\",\"CityName\":\"" + $(this).attr("CityName") + "\"},");
});
}
});
}
结果:
{
{\"ProvinceID\":\"1\",\"Province\":\"北京市\",\"City\":[{\"CityID\":\"1\",\"CityName\":\"北京市\"}]}, {\"ProvinceID\":\"2\",\"Province\":\"天津市\",\"City\":[{\"CityID\":\"2\",\"CityName\":\"天津市\"}]},
。。。。。
}

 

Ajax嵌套