Rumah  >  Artikel  >  hujung hadapan web  >  Penjelasan terperinci tentang penyegerakan tak segerak ajax dan ketidaksegerakan dalam jQuery_jquery

Penjelasan terperinci tentang penyegerakan tak segerak ajax dan ketidaksegerakan dalam jQuery_jquery

WBOY
WBOYasal
2016-05-16 15:37:351399semak imbas

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(); //②
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"); //②

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.

Kenyataan:
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