我試圖讓嵌套ajax調用,但迭代不起作用:比方說,我有2家企業具有2個觸點公司號碼1和具有3個聯繫人公司2號。我想不通爲什麼,但下面給出的代碼顯示兩個公司名稱後面的五個聯繫人姓名:它不是嵌套....jQuery的嵌套的AJAX調用不工作
<script type="text/javascript">
$(function() {
$('#searchbutton').bind('click', function (event) {
$("#result > h4, #result > p").remove();
$("<p>Loading...</p>").appendTo($("#result"));
$.ajax({
type: "GET",
dataType: "jsonp",
cache: true,
url: "http://localhost/archilab/archilabdirectory.svc/",
data: ("tag=" + $("#searchstring").val()),
success: function (companies) {
$("#result > p").remove();
$.each(companies, function() {
var outer = this;
$("<h4>", { text: outer.Name + " (" + outer.Perimeter + ")" }).hide().appendTo($("#result")).show(4000, function() {
$.ajax({
type: "GET",
dataType: "jsonp",
cache: true,
url: "http://localhost/archilab/archilabdirectory.svc/" + outer.Name + "/contacts/",
success: function (contacts) {
$(contacts).each(function() {
$("<p>", { text: this.FirstName + " " + this.LastName }).hide().appendTo($("#result")).show();
});
}
})
});
});
}
});
})
});
</script>
而是發出多個Ajax調用的,你爲什麼不會所的名字和聯繫人數據轉換成一個Ajax請求一個單一的JSON響應? – Chandu 2011-04-20 17:57:41
如果由於某種奇怪的原因,你需要兩個,請請寫功能。始終編碼幹(不要重複自己)。無論何時您可以將代碼翻過來看山脈,都需要重構。 – 2011-04-20 18:04:05