I encountered multiple ajax loads in the project, and there was a problem with the loading, and it could not be loaded in the first time.
The main reason is because: the browser's rendering (UI) thread and the js thread are mutually exclusive. When executing js time-consuming operations, page rendering will be blocked. There is no problem when we execute asynchronous ajax, but when set to a synchronous request, other actions (the code behind the ajax function, and the rendering thread) will stop. Even if my DOM operation statement is the sentence before the request is initiated, this synchronization request will "quickly" block the UI thread without giving it time to execute. This is why the code fails.
#1. Rewrite synchronization into asynchronous and nest multiple ajax requests together. , call another ajax request after success, so that the second request loading will not be blocked because the first request ends first.
2. Use jquery’s Deferred object. jQuery introduced the Deferred object after version 1.5, which provides a very convenient generalization Asynchronous mechanism.
3. Use the timer setTimeout() or setinterval() function to check regularly whether ajax returns successfully.
The above is the detailed content of How to solve the problem of multiple ajax page requests and page loading blocking. For more information, please follow other related articles on the PHP Chinese website!