2013-02-17 19 views
1

處理有多個AJAX調用的jQuery語句的最佳方法是什麼?處理有很多AJAX調用的jQuery語句

下面的代碼似乎有點低效。

$("#search_building").on("change blur", function() { 
    var building = $("#search_building").val(); 
    var room = $("#search_room").val(); 
    var dept = $("#dept").val(); 
    var dataString = 'room=' + room + '&' + 'building=' + building + '&' + 'dept=' + dept; 
    $.ajax({ 
     type: "POST", 
     url: "process_building.php", 
     data: dataString, 
     cache: false, 
     success: function (html) { 
      $('#search_room').html(html); 
     } 
    }); 
    $.ajax({ 
     type: "POST", 
     url: "process_timetableMon.php", 
     data: dataString, 
     cache: false, 
     success: function (html) { 
      $('#grid2_mon').html(html); 
     } 
    }); 
    $.ajax({ 
     type: "POST", 
     url: "process_timetableTue.php", 
     data: dataString, 
     cache: false, 
     success: function (html) { 
      $('#grid2_tue').html(html); 
     } 
    }); 
    $.ajax({ 
     type: "POST", 
     url: "process_timetableWed.php", 
     data: dataString, 
     cache: false, 
     success: function (html) { 
      $('#grid2_wed').html(html); 
     } 
    }); 
    $.ajax({ 
     type: "POST", 
     url: "process_timetableThu.php", 
     data: dataString, 
     cache: false, 
     success: function (html) { 
      $('#grid2_thu').html(html); 
     } 
    }); 
    $.ajax({ 
     type: "POST", 
     url: "process_timetableFri.php", 
     data: dataString, 
     cache: false, 
     success: function (html) { 
      $('#grid2_fri').html(html); 
     } 
    }); 
}); 
+1

在服務器合併的內容和打一個電話,數據,解析響應適當的容器 – charlietfl 2013-02-17 02:22:03

回答

2

更換所有的AJAX調用一個AJAX調用:

$.ajax({ 
    type: "POST", 
    dataType: "json", 
    url: "process_all.php", 
    data: dataString, 
    cache: false, 
    success: function (data) { 
    //This is your json data 
    //data[n] is just an illustration of how you could use your json that you get back. 
    //In reality it depends on how you do your server side processing 
    $('#grid2_day1').html(data[0]); 
    $('#grid2_day2').html(data[1]); 
    $('#grid2_day3').html(data[2]); 
    $('#grid2_day4').html(data[3]); 
    $('#grid2_day5').html(data[4]); 
    } 
}); 

還要注意的是URL被稱爲是一個地方,你做你的處理或至少觸發任何處理就需要做。

爲了處理後返回JSON,調用JSON編碼使用PHP json_encode()

+0

哎呀,現在其固定 – karancan 2013-02-17 02:37:01