1. 程式人生 > >火狐瀏覽器滾動條下拉到底部觸發ajax出現閃屏的問題(Ajax請求中的async:false/true的作用)

火狐瀏覽器滾動條下拉到底部觸發ajax出現閃屏的問題(Ajax請求中的async:false/true的作用)

近做東西用到ajax,我在火狐下firebug打斷點一點問題都沒有,可是關了firebug,程式不進後臺方法,納悶了好久,從來沒有遇到過這種情況,最後加了一個引數async:false好了,還是很納悶,以前寫了那麼多ajax相關程式碼從來沒遇到過這種情況,原來對asy:nc:false的含義不大瞭解,還有可能和現在這個平臺有關係吧。
英文:async boolean default: true
by default, all requests are sentasynchronous (e.g. this is set to true by default). if you need synchronousrequests, set this option to false. note that synchronous

requests may temporarily lock the browser,disabling any actions while the request is active.

async. 

翻譯:預設是true,即為非同步方式,$.ajax執行後,會繼續執行ajax後面的指令碼,直到伺服器端返回資料後,觸發$.ajax裡的success方法,這時候執行的是兩個執行緒。若要將其設定為false,則所有的請求均為同步請求,在沒有返回值之前,同步請求將鎖住瀏覽器,使用者其它操作必須等待請求完成才可以執行。

下面檢視一個示例:
var temp;
$.ajax({
 async: false,
  type : "post",

  url : defaultpostdata.url,
  datatype : 'json',
  success : function(data) {
     temp=data;
  }
});

alert(temp);

這個ajax請求為同步請求,在沒有返回值之前,alert(temp)是不會執行的。
如果async設定為:true,則不會等待ajax請求返回的結果,會直接執行ajax後面的語句。
不過上面設定同步請求的方法,有網友曾經反饋將async設成false後, 原意是想返回資料了再執行$.ajax後面的指令碼, 沒想到這個地方卻導致了在火狐瀏覽器下出現閃屏(firefox 11.0),滾動條下拉到底部觸發ajax的情況。最後只能將async:false註釋掉,也就是async為ture的情況下,成功解決了火狐瀏覽器滾動條下拉到底部觸發ajax出現閃屏的問題。

轉載url:https://www.cnblogs.com/phpall/p/4728482.html,感謝分享!

相關推薦

火狐瀏覽器滾動底部觸發ajax出現的問題(Ajax請求async:false/true作用)

最近做東西用到ajax,我在火狐下firebug打斷點一點問題都沒有,可是關了firebug,程式不進後臺方法,納悶了好久,從來沒有遇到過這種情況,最後加了一個引數async:false好了,還是很納悶,以前寫了那麼多ajax相關程式碼從來沒遇到過這種情況,原來對asy:n

JS jQuery滾動到底觸發事件

var edit=true;//可控元素         $(window).scroll(            &n

vue 監聽某個div垂直滾動底部

this.$nextTick(() => {constel=document.querySelector('.act-not');constoffsetHeight=el.offsetHeight;el.onscroll= () => {constscrollTo

JQ-滾動無限的加載數據

範圍 on() wid log body class scrollto idt 下拉 一、原理   利用滾動的高度,如果滾動的高度到達一定範圍,就加載數據 二、實現   利用$(document.body).outerWidth()獲取的是屏幕的高度,這個是固定的,不變的

檢測瀏覽器滾動是否到達底部

function 檢測 window java 底部 true blog highlight cto $(window).on("scroll",function(){ var sctop=$(window).scrollTop();   if ($(

兼容火狐瀏覽器的select框樣式

doc image class rap lec calc form AR rep 經常遇到這樣的問題,在使用bootstrap框架的時候select選擇框的樣式在火狐瀏覽器上繼承的是瀏覽器本身的樣式,跟谷歌等其他的瀏覽器樣式對比很難看,並且很難調整,但是! 好東西來了,現在

jquery獲取滾動值-式載入資料

var docHeight = $(document).height(); // 獲取整個頁面的高度 //var winHeight = $(window).height(); // 獲取當前窗體的高度 ,用window獲取的值跟document獲取的值是相同的不能用 var

隨著滾動來載入頁面內容

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html

滾動時 table 的thead 固定在網頁固定在頂部不動

一、效果圖 二、前端頁面 核心程式碼: 1、固定頂部 position:fixed;top:0px2、左右滾動條 OVERFLOW-X: scroll;width:720px;3、時間內容越出單元格顯示 position: relative;bottom:30px;<

相容火狐瀏覽器的select框樣式

解決方法 <link href="http://cdn.bootcss.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet"> <style>

#學習筆記#(28)+JS瀑布流-滾動載入圖片

waterfall.html <html> <head> <title>瀑布流佈局</title> <meta charset="gb2312"/> <link type="text/css"

JavaScript自定義瀏覽器滾動相容IE、 火狐和chrome

今天為大家分享一下我自己製作的瀏覽器滾動條,我們知道用css來自定義滾動條也是挺好的方式,css雖然能夠改變chrome瀏覽器的滾動條樣式可以自定義,css也能夠改變IE瀏覽器滾動條的顏色。但是css只能是改變IE瀏覽器的顏色,而且CSS不能做到改變火狐瀏覽器的樣式和顏色。

單選按鈕觸發事件、列表觸發事件

else if 選擇 nan int 處理 n) drop 一個 androi OnCheckedChangeListener(處理用戶在選中單選按鈕的選項時觸發)     RadioGroup rg = ( RadioGroup) findById(new OnCheck

修改瀏覽器滾動樣式

htm 火狐瀏覽器 kit 圖片 圓角 inset 默認 火狐 row 滾動條樣式修改,沒有找到修改火狐瀏覽器滾動條的代碼 把以下樣式加入css,圖片為谷歌、safari、qq瀏覽器、360瀏覽器滾動條樣式和ie滾動條樣式及ie原始默認樣式 /*谷歌、safari、qq瀏覽

selenium_webdriver(python)控制瀏覽器滾動

() sel import clas odin fin 滾動 -h firefox 調過JS腳本控制 #coding=utf-8 from selenium import webdriver import time #訪問百度 driver=

bootshrap會改變IE瀏覽器滾動樣式

device 自動隱藏 發現 客戶 ice 現在 出現問題 觀察 css 在某個小網站的開發中客戶一直抱怨在IE11中網頁右邊滾動條不一樣後來發現在IE11中,有2個頁面滾動條會自動隱藏,一開始以為是瀏覽器默認行為,改了overflow:scroll後也沒有用。仔細觀察後發

JS 原生JS 判斷滾動滑動到底部(兼容蘋果safari)

sco [0 dex start listener last eight ast pan ListenerScoller () { var pageIndex = 1; var startX, startY; document.addEven

設置瀏覽器滾動樣式

set hover -s over splay bsp width kit sha 1.設置隱藏滾動條 ::-webkit-scrollbar{   display:none; } 2.設置滾動條樣式 /*********改變瀏覽器滾動條的樣式***********

微信瀏覽器禁止頁面查看網址(不影響頁面內部scroll)

完美解決 comm -i con js代碼 uil from () -c 此類事件是手機touchmove默認事件行為,可以通過js代碼隱藏事件: $(‘body’).on(‘touchmove’, function (ev

瀏覽器滾動樣式更改

color gpo lac 圖片 clas http borde radius 背景 body{ scrollbar-arrow-color: red; /*上下按鈕上三角箭頭的顏色*/ scrollbar-face-colo