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