ajax 非同步呼叫

2022-03-20 21:02:25 字數 742 閱讀 8475

江湖傳聞,ajax 是非同步呼叫,自己以前確實也學習過「所謂」的非同步呼叫,然後就開始一直這麼用,也沒出什麼問題。。。

今天,由於乙個功能上的bug,對ajax的非同步呼叫有了點新認識。

先說一下問題由來:在前端頁面上有一些輸入框,有乙個賬號欄位+身份證字段,想要對輸入的賬號+身份證號進行唯一性判斷:原來是通過$("#idvalue").change(function())來實現唯一性驗證的,裡面的函式裡有個ajax呼叫。

被測試的同事查出個bug:不通過驗證也能直接寫資料庫,原來我想的有些少:在賬號字段輸入框中輸入資訊後,直接點儲存按鈕就能直接修改了。確實想少了,還需要歷練。

隨後開始對問題進行解決,原本以為挺簡單的,在儲存按鈕的儲存事件中新增對內容的驗證即可,確實是挺簡單的一件事,然後,就是這麼一件事,耗費了將近兩個小時,可就是變數值不正確:全域性變數的值沒有被 ajax 的**函式進行修改,**函式的返回值總是不正確,還試了很多通過中間變數來傳值,然而,一直都沒解決掉!!!!

太感人了,第一行就看到了原因。。。

原來ajax所謂的非同步呼叫是ajax向後端傳送了請求後,就不再等資料傳回來了,而是直接執行一下的**,這樣的話,**函式不能及時返回值,或者全域性變數沒有被及時修改。這也解釋了乙個問題,問什麼後續**執行比**函式了執行的快,原來一切都是

「非同步呼叫」啊,非同步呼叫,非同步呼叫,非同步呼叫。。。。說多了都是淚啊

ajax同步非同步呼叫

test.html asy.js function testasync success function data alert temp end tet.php echo here is html code sleep 5 async false,預設是true 如上 false為同步,這個 tes...

同步呼叫與非同步呼叫

一 什麼是同步呼叫與非同步呼叫 定義 1 同步就是整個處理過程順序執行,當各個過程都執行完畢,並返回結果。2 非同步呼叫則是只是傳送了呼叫的指令,呼叫者無需等待被呼叫的方法完全執行完畢 而是繼續執行下面的流程。例如,在某個呼叫中,需要順序呼叫 a,b,c三個過程方法 如他們都是同步呼叫,則需要將他們...

JQ 非同步呼叫

請求 test.php 網頁,忽略返回值。jquery 程式 get test.php 請求 test.php 網頁,傳送2個引數,忽略返回值。jquery 程式 get test.php 顯示 test.php 返回值 html 或 xml,取決於返回值 jquery 程式 get test.ph...