Penjelasan terperinci tentang penyegerakan tak segerak ajax dan ketidaksegerakan dalam jQuery_jquery

WBOY
Lepaskan: 2016-05-16 15:37:35
asal
1430 orang telah melayarinya

Terdapat keperluan sedemikian dalam projek, gunakan ajax untuk memuatkan data, kembalikan halaman dan tetapkan nilai, dan kemudian keluarkan nilai pada bahagian hadapan

Ini melibatkan susunan kod Kadangkala latar belakang belum mengembalikan data, tetapi kod berikutnya telah dilaksanakan

Jadi nilai tidak dapat diperoleh

$.ajax({ type: "post",  url: "admin/PfmOptionRuleItem.do", success: function(data){  $("#ruleItem").val(data.ruleItem); //① } }); return $("#ruleItem").val(); //②
Salin selepas log masuk
Jika ① belum mengembalikan data dari latar belakang, nilai tidak boleh diperoleh jika ② dilaksanakan pada masa ini

Huruf pertama Ajax ialah huruf pertama tak segerak, yang bermaksud bahawa semua operasi adalah selari, dan susunan penyiapan tidak mempunyai hubungan.

Parameter async $.ajax() sentiasa ditetapkan kepada benar, yang menunjukkan bahawa kod lain masih boleh dilaksanakan selepas permintaan bermula.

Jika pilihan ini ditetapkan kepada palsu, ini bermakna semua permintaan tidak lagi segerak, yang juga akan menyebabkan penyemak imbas terkunci.

Walaupun pegawai tidak mengesyorkan melakukan ini, anda tidak boleh menggunakannya terlalu banyak, jika tidak, ia akan menyebabkan pengalaman pengguna yang buruk

Beri saya buah berangan

alert("setp 1"); $.ajax({  url: "admin/PfmOptionRuleItem.do",  async: false,  success: function(data){   alert("hello ajax"); //①  } }); alert("setp 2"); //②
Salin selepas log masuk

Apabila asyn ditetapkan kepada palsu, permintaan ajax disegerakkan, iaitu selepas blok ajax menghantar permintaan pada masa ini,

Dia akan menunggu di ① dan tidak akan melaksanakan ② sehingga ① selesai

Pada masa ini, susunan pelaksanaan ialah

setp 1

hello ajax

setp 2

Jika async adalah benar, tertib pelaksanaan ialah

setp 1

setp 2

hello ajax

Mengenai penyegerakan async dan ketidaksegerakan ajax dalam jQuery yang diterangkan dalam artikel ini, saya telah memperkenalkan semuanya.

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan