亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

AJAX

解讀Ajax中的循環(huán)方案

時間:2024-10-13 02:05:57 AJAX 我要投稿
  • 相關推薦

解讀Ajax中的循環(huán)方案

  Ajax 簡介

解讀Ajax中的循環(huán)方案

  Ajax 由 HTML、JavaScript 技術、DHTML 和 DOM 組成,這一杰出的方法可以將笨拙的 Web 界面轉化成交互性的 Ajax 應用程序。本文的作者是一位 Ajax 專家,他演示了這些技術如何協(xié)同工作 —— 從總體概述到細節(jié)的討論 —— 使高效的 Web 開發(fā)成為現(xiàn)實。他還揭開了 Ajax 核心概念的神秘面紗,包括 XMLHttpRequest 對象。

  五年前,如果不知道 XML,您就是一只無人重視的丑小鴨。十八個月前,Ruby 成了關注的中心,不知道 Ruby 的程序員只能坐冷板凳了。今天,如果想跟上最新的技術時尚,那您的目標就是 Ajax。

  但是,Ajax 不僅僅 是一種時尚,它是一種構建網站的強大方法,而且不像學習一種全新的語言那樣困難。

  一、業(yè)務需求

  在開發(fā)中,當一個列表頁面加載完成后,我需要根據(jù)列表每一項的id去服務器端獲取對應的數(shù)據(jù)然后再把獲取的數(shù)據(jù)賦給當前id對應的標簽。

  例如如下表格:

  我有一系列的商品編號,我需要根據(jù)商品編號通過ajax到服務器獲取商品對應的名稱,然后再用js更新界面(實際中的業(yè)務當然不是獲取商品名稱這么簡單)

  二、實現(xiàn)方案

  2.1 錯誤方案

  一般情況下,我們會直接想到,直接寫個for循環(huán),在循環(huán)內發(fā)起ajax請求獲取數(shù)據(jù),再把獲取的數(shù)據(jù)更新到對應的id對應的標簽上,

  如下:

  我們以數(shù)組模擬一些列id:

  var array = [1, 3, 2, 5, 3];

  循環(huán)的ajax請求方法:

  function foreach_ajax() {for (var i = 0; i < array.length; i++) {$.get("/home/loop_ajax", { value: array[i] }, function (data) {console.log(array[i]+","+data);});}}

  調用:

  $(function () {foreach_ajax(); });

  測試結果如下:

  我們可以看到,在循環(huán)的內部我們根本取不到array[i]的值。

  導致這種結果的原因是:ajax是異步執(zhí)行的,在循環(huán)結束的時候第一次ajax還沒有將服務器數(shù)據(jù)返回,而循環(huán)結束的時候for中的變量i已經釋放了,所以array[i]=undefined

  2.2 正確方案

  正確的方式是以遞歸的方式循環(huán)ajax。

  如下:

  我們以數(shù)組模擬一些列id:

  var array = [1, 3, 2, 5, 3];

  遞歸的ajax請求方法:

  function Loop_ajax(index, array) {if (index < array.length) { var value = array[index];$.get("/home/loop_ajax", { value: value }, function (data) {console.log(array[index] + "," + data);if (index < array.length) {Loop_ajax(index + 1, array); }});}}

  調用:

  $(function () {Loop_ajax(0, array);});

  測試結果如下:

【解讀Ajax中的循環(huán)方案】相關文章:

2023中考名詞解讀-指標生06-14

原生ajax調用數(shù)據(jù)實例簡單講解07-19

《艋舺》的美學解讀10-18

硬盤循環(huán)死鎖故障方法介紹07-16

留學日本的費用解讀09-05

山東省青島2016年中考“3+4”政策解讀02-03

臨床執(zhí)業(yè)醫(yī)師助理考點:微循環(huán)05-25

銷售與收款循環(huán)審計流程與要點04-26

專家解讀英國留學的優(yōu)勢12-20

解讀澳洲留學申請的條件09-04