async
デフォルトは true
で、非同期モードです。$.Ajax
が実行された後、ajax の背後にあるスクリプトは、サーバーからデータが返され、最後に $.Ajax
の success メソッドがトリガーされ、このとき 2 つのスレッドが実行されます。 false
に設定すると、すべてのリクエストは同期リクエストになります。値を返す前に、同期リクエストはブラウザをロックし、ユーザーの その他の操作はリクエストが返されるまで待機する必要があります。完了しました。実行する前に。
この他の操作の具体的な例は何ですか? http リクエストまたは js スクリプトを指しますか?
最初の写真
async
为false
的时候,阻塞代码直到 ajax 调用返回,所以是先执行的done
(即success
) 再执行的 ajax 调用之后的那句console.log
。async
为true
(默认) 的时候,不阻塞代码,所以下面的console.log
先执行,等 ajax 返回之后再执行的done
里面的console.log
。指js スクリプト
http://transcoder.tradaquan.com/from=2001a/bd_page_type=1/ssid=0/uid=0/pu=usm%401%2Csz%401320_2003%2Cta%40iphone_1_10.3_1_11.5/baiduid =3ECCA1E6D2665DB48EFEBB60D9D9084F/w=0_10_/t=iphone/l=3/tc?ref=www_iphone&lid=8260698868132866872&order=1&fm=alhm&h5ad=1&srd=1&dict=32&tj=h5_mobile_1_0_10_title&w_ qd=IlPT2AEptyoA_yivDVKcCTpsvgzWOeIntjcXa3jSqfgrUO_&sec=21456&di=8e54227838fdccf9&bdenc=1&nsrc=IlPT2AEptyoA_yixCFOxXnANedT62v3IEQGG_ytK1DK6mlrte4viZQRAVD b6QHOTCU8sumX0sqdFtXLR_7Mi8xR_qbIwdzZz
$.Ajax
背後にある js スクリプト。 (スクリプトという言葉は使わない方が良いです)ajax が同期である場合、js は順番に実行され、http リクエストは ajax によって送信され、js は js であることを意味します。これらを混同しないでください。
その他のユーザー操作は、JS 関連の操作をトリガーするユーザーを指す必要があります。 ajax の背後で要素をバインドする時間があれば、それをトリガーできます。
最後の要約は、現在の js スクリプトが同期 ajax の場合、スクリプトは順次実行され、非同期 ajax が使用される場合、非同期で実行されます。これは、ajax が実行されると、js ステートメントが ajax の後に実行されることを意味します。リクエストが返されるのを待たずに直接実行されます。