Home > Web Front-end > JS Tutorial > body text

How to implement loop using Ajax

php中世界最好的语言
Release: 2018-04-25 14:59:08
Original
4096 people have browsed it

This time I will show you how to use Ajax to implement loops, and what are the precautions for using Ajax to implement loops. The following is a practical case, let's take a look.

Ajax Introduction

Ajax consists of HTML,

JavaScript™ technology, DHTML and DOM , a great way to turn clumsy Web interfaces into interactive Ajax applications. The author of this article, an Ajax expert, demonstrates how these technologies work together—from a general overview to a detailed discussion—to make efficient Web development a reality. He also demystifies core Ajax concepts, including the XMLHttpRequest object.

Five years ago, if you didn't know XML, you were an ugly duckling that no one took seriously. Eighteen months ago, Ruby became the center of attention, and programmers who didn't know Ruby had to sit on the bench. Today, if you want to keep up with the latest technology fads, your destination is Ajax.

But Ajax is more than just a fad, it's a powerful way to build websites that isn't as difficult as learning a whole new language.

1. Business requirements

In development, when a list page is loaded, I need to go to the id of each item in the list The server side obtains the corresponding data and then assigns the obtained data to the label corresponding to the current id.

For example, the following table:

I have a series of product numbers. I need to get the corresponding names of the products from the server through ajax based on the product numbers, and then use js update interface (the actual business is of course not as simple as getting the product name)

2. Implementation plan

2.1 Error plan

Under normal circumstances, we will directly think of writing a

for loop, initiate an ajax request to obtain data within the loop, and then update the obtained data to the corresponding id. On the label,

is as follows:

We use an array to simulate some column IDs:

var array = [1, 3, 2, 5, 3];
Copy after login
Copy after login
Loop ajax

Request method :

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);
});
}
}
Copy after login
Call:

$(function () {
foreach_ajax(); 
});
Copy after login
The test results are as follows:

We can see that inside the loop we cannot get the value of array[i] at all .

The reason for this result is: ajax is executed asynchronously. At the end of the loop, the first ajax has not returned the server data, and when the loop ends, the variable i in for has been released. So array[i]=undefined

2.2 Correct solution

The correct way is to loop ajax recursively.

is as follows:

We use an array to simulate some series of ids:

var array = [1, 3, 2, 5, 3];
Copy after login
Copy after login
Recursive ajax request method:

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); 
}
});
}
}
Copy after login
Call:

$(function () {
Loop_ajax(0, array);
});
Copy after login
The test results are as follows:

I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!

Recommended reading:

What data types can ajax handle returned by the server?

Perfect processing of json data cannot be performed success

The above is the detailed content of How to implement loop using Ajax. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template