Home Web Front-end JS Tutorial Loop scheme in Ajax

Loop scheme in Ajax

May 23, 2018 pm 02:10 PM
ajax plan

During development, when a list page is loaded, I need to go to the server to obtain the corresponding data based on the id of each item in the list, and then assign the obtained data to the label corresponding to the current id. How to achieve this? Now let me introduce to you the loop scheme in ajax. Friends who are interested can learn together

Ajax Introduction

Ajax is composed of HTML and JavaScript ™ technology, DHTML and DOM, this brilliant approach can transform 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 directly, initiate an ajax request to obtain data within the loop, and then update the obtained data to the label corresponding to the corresponding id,

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

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

Test The result is 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:

#The above is what I compiled for everyone. I hope it will be helpful to everyone in the future.

Related articles:

AJAX is used to determine whether the user is registered

ajax implements asynchronous file or image upload function

Solve the problem that WeChat returns to the previous page and the AJAX request in the page is invalid for the Get request

The above is the detailed content of Loop scheme in Ajax. For more information, please follow other related articles on the PHP Chinese website!

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

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to solve the 403 error encountered by jQuery AJAX request How to solve the 403 error encountered by jQuery AJAX request Feb 20, 2024 am 10:07 AM

How to solve the 403 error encountered by jQuery AJAX request

How to solve jQuery AJAX request 403 error How to solve jQuery AJAX request 403 error Feb 19, 2024 pm 05:55 PM

How to solve jQuery AJAX request 403 error

How to get variables from PHP method using Ajax? How to get variables from PHP method using Ajax? Mar 09, 2024 pm 05:36 PM

How to get variables from PHP method using Ajax?

How to solve the problem of jQuery AJAX error 403? How to solve the problem of jQuery AJAX error 403? Feb 23, 2024 pm 04:27 PM

How to solve the problem of jQuery AJAX error 403?

PHP vs. Ajax: Solutions for creating dynamically loaded content PHP vs. Ajax: Solutions for creating dynamically loaded content Jun 06, 2024 pm 01:12 PM

PHP vs. Ajax: Solutions for creating dynamically loaded content

Understanding Ajax Frameworks: Explore Five Common Frameworks Understanding Ajax Frameworks: Explore Five Common Frameworks Jan 26, 2024 am 09:28 AM

Understanding Ajax Frameworks: Explore Five Common Frameworks

Asynchronous data exchange using Ajax functions Asynchronous data exchange using Ajax functions Jan 26, 2024 am 09:41 AM

Asynchronous data exchange using Ajax functions

What are the ajax versions? What are the ajax versions? Nov 22, 2023 pm 02:00 PM

What are the ajax versions?

See all articles