欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2016年10月24日 10:51:08   作者:夢亦曉  
在開發(fā)中,當一個列表頁面加載完成后,我需要根據(jù)列表每一項的id去服務(wù)器端獲取對應(yīng)的數(shù)據(jù)然后再把獲取的數(shù)據(jù)賦給當前id對應(yīng)的標簽,怎么實現(xiàn)的呢?下面小編給大家介紹下ajax中的循環(huán)方案,感興趣的朋友一起學(xué)習(xí)吧

Ajax 簡介

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

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

但是,Ajax 不僅僅 是一種時尚,它是一種構(gòu)建網(wǎng)站的強大方法,而且不像學(xué)習(xí)一種全新的語言那樣困難。

一、業(yè)務(wù)需求

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

例如如下表格:

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

二、實現(xiàn)方案

2.1 錯誤方案

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

如下:

我們以數(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);
});
}
}

調(diào)用:

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

測試結(jié)果如下:

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

導(dǎo)致這種結(jié)果的原因是:ajax是異步執(zhí)行的,在循環(huán)結(jié)束的時候第一次ajax還沒有將服務(wù)器數(shù)據(jù)返回,而循環(huán)結(jié)束的時候for中的變量i已經(jīng)釋放了,所以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); 
}
});
}
}

調(diào)用:

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

測試結(jié)果如下:

以上所述是小編給大家介紹的Ajax中的循環(huán)方案,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • prototype試用整理資料

    prototype試用整理資料

    prototype試用整理資料...
    2007-01-01
  • ajax無刷新分頁的簡單實現(xiàn)

    ajax無刷新分頁的簡單實現(xiàn)

    這篇文章主要為大家詳細介紹了ajax無刷新分頁的簡單實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • AJAXRequest v0.2

    AJAXRequest v0.2

    AJAXRequest v0.2...
    2006-12-12
  • jquery中的ajax同步和異步詳解

    jquery中的ajax同步和異步詳解

    jquery ajax同步的意思是當JS代碼加載到當前ajax的時候會把頁面里所有的代碼停止加載,頁面出現(xiàn)了假死狀態(tài),當這個ajax執(zhí)行完畢后才會繼續(xù)運行其他的代碼假死狀態(tài)解除。而異步的意思是這個ajax代碼運行中的時候其他代碼一樣可以運行。本文給大家詳解,感興趣的朋友參考下
    2015-09-09
  • Ajax基礎(chǔ)使用詳解

    Ajax基礎(chǔ)使用詳解

    這篇文章主要介紹了Ajax基礎(chǔ)使用詳解,是前后臺交互的能? 也就是我們客戶端給服務(wù)端發(fā)送消息的?具,以及接受響應(yīng)的?具,本篇就來對ajax基礎(chǔ)進行詳細講解,需要的朋友可以參考下
    2023-05-05
  • AJAX 請求區(qū)分 $_SERVER[''HTTP_X_REQUESTED_WITH''] 小解

    AJAX 請求區(qū)分 $_SERVER[''HTTP_X_REQUESTED_WITH''] 小解

    關(guān)于這個內(nèi)容,很多人都有所了解.但從我搜索的內(nèi)容來看,他們只是略微看一下,根本不知道里面到底是什么情況.
    2011-06-06
  • 關(guān)于Ajax技術(shù)中servlet末尾的輸出流

    關(guān)于Ajax技術(shù)中servlet末尾的輸出流

    這篇文章主要介紹了關(guān)于Ajax技術(shù)中servlet末尾的輸出流的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • ajax詳解_動力節(jié)點Java學(xué)院整理

    ajax詳解_動力節(jié)點Java學(xué)院整理

    這篇文章主要介紹了ajax詳解,詳細的介紹了Ajax 簡史以及 基本用法,有興趣的可以了解一下
    2017-07-07
  • jquery ajax多次請求數(shù)據(jù)時 不刷新問題的解決方法

    jquery ajax多次請求數(shù)據(jù)時 不刷新問題的解決方法

    下面小編就為大家?guī)硪黄猨query ajax多次請求數(shù)據(jù)時 不刷新問題的解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • Ajax 框架之SSM整合框架實現(xiàn)ajax校驗

    Ajax 框架之SSM整合框架實現(xiàn)ajax校驗

    這篇文章主要介紹了Ajax 框架之SSM整合框架實現(xiàn)ajax校驗,需要的朋友可以參考下
    2017-04-04

最新評論