Rumah hujung hadapan web tutorial js Ringkasan kaedah interaksi data front-end dan back-end_Pengetahuan asas

Ringkasan kaedah interaksi data front-end dan back-end_Pengetahuan asas

May 16, 2016 pm 04:05 PM
Interaksi data bahagian hadapan dan belakang

Artikel ini sesuai untuk pemula yang mempunyai sedikit pengalaman dalam pembangunan kolaboratif bahagian hadapan dan belakang.

Tugasan HTML

Output kepada nilai atau nama data Elemen

<input type="hidden" value="<&#63;php echo $user_avatar;&#63;>" />
<div data-value="<&#63;php echo $user_avatar;&#63;>"></div>

Salin selepas log masuk

Hasil pemaparan

<input type="hidden" value="https://avatars1.githubusercontent.com/u/3949015&#63;v=3&s=40" />
<div data-avatar="https://avatars1.githubusercontent.com/u/3949015&#63;v=3&s=40"></div>

Salin selepas log masuk

Gunakan JS untuk mendapatkan

$('input').val();
// http://jquery.bootcss.com/jQuery.data/
$('div').data('avatar');

Salin selepas log masuk

Kelebihan:

Tidak menduduki pembolehubah global dan boleh diperoleh secara bebas oleh JS.

Cadangan penggunaan:

Sesuai untuk menghantar data ringkas, dan juga sangat sesuai untuk mengikat perhubungan antara berbilang data ringkas dan Elemen.

<ul>
<li>nimojs <span data-userid="1" >删除</span></li>
<li>nimo22 <span data-userid="2" >删除</span></li>
<li>nimo33 <span data-userid="3" >删除</span></li>
<li>nimo44 <span data-userid="4" >删除</span></li>
<li>nimo55 <span data-userid="5" >删除</span></li>
</ul>
<script>
$('span').on('click',function(){
  $.post('/ajax/remove/',$(this).data('userid'),function(data){
    // ...
  })
})
</script>

Salin selepas log masuk

Tugasan JS

Isi data ke dalam pengisytiharan pembolehubah JavaScript .

<script>
var user_avatar = "<&#63;php echo $user_avatar;&#63;>";
// 渲染结果
// var user_avatar = "https://avatars1.githubusercontent.com/u/3949015&#63;v=3&s=40";
</script>
Salin selepas log masuk

Atau gunakan enjin templat bahagian belakang Smarty:


var user_avatar = "{$user_avatar}";

Kelebihan:
Menghantar data sangat mudah. Bahagian hadapan terus memanggil pembolehubah user_avatar untuk menggunakan data.

Kelemahan:

Untuk memindahkan data rentetan, pengguna_avatar pembolehubah global diduduki Apabila terdapat banyak data yang perlu dihantar, banyak pembolehubah global akan diduduki.
Jika data yang dikembalikan mengandungi pemisah baris, ia akan menyebabkan JS melaporkan ralat

// 渲染结果有换行符
var user_id = "https://avatars1.githubusercontent.com/u/3949015&#63;v=3&s=40";
// Uncaught SyntaxError: Unexpected token ILLEGAL
Salin selepas log masuk

Pengoptimuman:

Anda boleh menyimpan semua kandungan yang dikembalikan oleh bahagian belakang melalui pembolehubah tertentu yang ditunjuk, meminimumkan penggunaan pembolehubah global. Contoh:

// PHP 代码
var SERVER_DATA = {
  username: {$username},
  userid: {$userid},
  title: {$title}
}
// 渲染结果
var SERVER_DATA = {
  username: "NimoChu",
  userid: 1,
  title: 'F2E'
}
Salin selepas log masuk

Cadangan penggunaan:

Gunakan kaedah ini apabila anda perlu memindahkan data ke JS secepat mungkin dan sangat yakin bahawa data itu stabil. Jika format data adalah kompleks, adalah disyorkan untuk menggunakan skrip untuk mengisi JSON atau AJAX untuk mendapatkan JSON.

skrip mengisi JSON
Apakah JSON?

Isi data JSON ke dalam teg dan bahagian hadapan memperoleh rentetan JSON melalui DOM dan menghuraikannya menjadi objek.

<script type="text/template" id="data">{"username":"nimojs","userid":1}</script>
<script>
var data = JSON.parse($('#data').html());
//{username:"nimojs",userid:1}
</script>

Salin selepas log masuk

Kelebihan:

Data boleh diperolehi selepas halaman dimuatkan. Ia tidak menduduki pembolehubah global dan boleh melepasi sejumlah besar pengumpulan data.

Kelemahan:

Apabila jumlah data sangat besar, pemuatan awal halaman akan menjadi perlahan. Kelembapan bukan sahaja disebabkan oleh saiz fail, tetapi juga kerana pelayan memerlukan masa untuk menanyakan data dan mengembalikan koleksi Anda boleh menggunakan AJAX untuk mendapatkan JSON untuk menyelesaikan pemuatan atas permintaan dan menunggu memuatkan.

Cadangan penggunaan:

Sesuai untuk menghantar koleksi data besar yang diperlukan apabila DOM dimuatkan. Contohnya: bahagian hadapan mengawal pemaparan halaman, bahagian belakang mengisi sumber data JSON ke dalam dan bahagian hadapan menggunakan enjin templat JavaScript untuk memaparkan halaman.

AJAX Dapatkan JSON

Gunakan AJAX untuk mendapatkan data JSON

<span id="showdata">查看资料</span>
<div style="display:none;" id="box">
  <h2>用户信息</h2>
  <p id="info"><img src="loading.gif" /></p>
</div>
$('#showdata').on('click',function(){
  $('#box').show();
  $.getJSON('/ajax/userdata/',function(oData){
    // oData = {"username":"nimojs","userid":1}
    $('#info').html('用户名:' + oData.username + '<br>用户ID:' + oData.userid);
  })
})
Salin selepas log masuk

Ini adalah contoh mendapatkan maklumat pengguna melalui AJAX. Prosesnya adalah seperti berikut:

Hanya maklumat paparan dipaparkan pada halaman
Pengguna mengklik untuk melihat maklumat
Paparkan maklumat pengguna dan memuatkan imej
Hantar permintaan AJAX ke pelayan untuk mendapatkan maklumat pengguna
Pelayan mengembalikan rentetan JSON dan $.getJSON secara automatik menukar rentetan JSON yang dikembalikan kepada objek
Isikan kandungan ke

Kelebihan:

Tidak menduduki pembolehubah global dan nod DOM, dan boleh mengawal keadaan pencetus untuk mendapatkan data secara bebas (apabila halaman dimuatkan, apabila pengguna mengklik untuk melihat maklumat atau apabila pengguna mengklik butang). Apabila mula mendapatkan data, anda boleh menggunakan ruang letak imej yang memuatkan untuk menggesa pengguna bahawa data sedang dibaca. Menghalang pemuatan halaman yang perlahan disebabkan oleh memuatkan semua data pada halaman.

Kelemahan:

Permintaan HTTP tambahan akan dihasilkan. Ia tidak boleh diperolehi serta-merta selepas DOM dimuatkan. Ia perlu menghantar permintaan dan menerima respons.

Cadangan penggunaan:

Sesuai untuk memuatkan maklumat bukan utama, menetapkan syarat pencetus (apabila pengguna mengklik untuk melihat maklumat), dan menyediakan gesaan menunggu bacaan data mesra.

WebSocket menghantar data dalam masa nyata
Jika permintaan dan respons AJAX dibandingkan dengan menghantar mesej teks ke pelayan dan menunggu pelayan membalas mesej teks, WebSocket adalah seperti membuat panggilan telefon ke pelayan.

Saya tidak akan memperkenalkan banyak tentang WebSocket di sini dilampirkan bahan rujukan:

Wiki:WebSocket
Bina aplikasi web masa nyata menggunakan HTML5 WebSocket
Ajax lwn WebSocket

Ringkasan
Terdapat tempat untuk setiap situasi dan tidak ada cara yang betul untuk melakukannya. Pilih kaedah pemerolehan data secara fleksibel mengikut situasi sebenar.

Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ganti aksara rentetan dalam javascript Ganti aksara rentetan dalam javascript Mar 11, 2025 am 12:07 AM

Penjelasan terperinci mengenai kaedah penggantian rentetan javascript dan Soalan Lazim Artikel ini akan meneroka dua cara untuk menggantikan watak rentetan dalam JavaScript: Kod JavaScript dalaman dan HTML dalaman untuk laman web. Ganti rentetan di dalam kod JavaScript Cara yang paling langsung ialah menggunakan kaedah pengganti (): str = str.replace ("cari", "ganti"); Kaedah ini hanya menggantikan perlawanan pertama. Untuk menggantikan semua perlawanan, gunakan ungkapan biasa dan tambahkan bendera global g: str = str.replace (/fi

Tutorial Persediaan API Carian Google Custom Tutorial Persediaan API Carian Google Custom Mar 04, 2025 am 01:06 AM

Tutorial ini menunjukkan kepada anda bagaimana untuk mengintegrasikan API carian Google tersuai ke dalam blog atau laman web anda, menawarkan pengalaman carian yang lebih halus daripada fungsi carian tema WordPress standard. Ia menghairankan mudah! Anda akan dapat menyekat carian ke y

Bina Aplikasi Web Ajax anda sendiri Bina Aplikasi Web Ajax anda sendiri Mar 09, 2025 am 12:11 AM

Jadi di sini anda, bersedia untuk mempelajari semua perkara ini yang dipanggil Ajax. Tetapi, apa sebenarnya? Istilah Ajax merujuk kepada kumpulan teknologi longgar yang digunakan untuk membuat kandungan web yang dinamik dan interaktif. Istilah Ajax, yang asalnya dicipta oleh Jesse J

Contoh warna json fail Contoh warna json fail Mar 03, 2025 am 12:35 AM

Siri artikel ini ditulis semula pada pertengahan 2017 dengan maklumat terkini dan contoh segar. Dalam contoh JSON ini, kita akan melihat bagaimana kita dapat menyimpan nilai mudah dalam fail menggunakan format JSON. Menggunakan notasi pasangan nilai utama, kami boleh menyimpan apa-apa jenis

8 plugin susun atur halaman jquery yang menakjubkan 8 plugin susun atur halaman jquery yang menakjubkan Mar 06, 2025 am 12:48 AM

Leverage JQuery untuk Layouts Laman Web yang mudah: 8 Plugin Essential JQuery memudahkan susun atur laman web dengan ketara. Artikel ini menyoroti lapan plugin jQuery yang kuat yang menyelaraskan proses, terutamanya berguna untuk penciptaan laman web manual

Apa itu ' ini ' Dalam JavaScript? Apa itu ' ini ' Dalam JavaScript? Mar 04, 2025 am 01:15 AM

Mata teras Ini dalam JavaScript biasanya merujuk kepada objek yang "memiliki" kaedah, tetapi ia bergantung kepada bagaimana fungsi dipanggil. Apabila tidak ada objek semasa, ini merujuk kepada objek global. Dalam penyemak imbas web, ia diwakili oleh tetingkap. Apabila memanggil fungsi, ini mengekalkan objek global; tetapi apabila memanggil pembina objek atau mana -mana kaedahnya, ini merujuk kepada contoh objek. Anda boleh mengubah konteks ini menggunakan kaedah seperti panggilan (), memohon (), dan mengikat (). Kaedah ini memanggil fungsi menggunakan nilai dan parameter yang diberikan. JavaScript adalah bahasa pengaturcaraan yang sangat baik. Beberapa tahun yang lalu, ayat ini

Tingkatkan pengetahuan jQuery anda dengan penonton sumber Tingkatkan pengetahuan jQuery anda dengan penonton sumber Mar 05, 2025 am 12:54 AM

JQuery adalah rangka kerja JavaScript yang hebat. Walau bagaimanapun, seperti mana -mana perpustakaan, kadang -kadang perlu untuk mendapatkan di bawah tudung untuk mengetahui apa yang sedang berlaku. Mungkin kerana anda mengesan bug atau hanya ingin tahu tentang bagaimana jQuery mencapai UI tertentu

10 helaian cheat mudah alih untuk pembangunan mudah alih 10 helaian cheat mudah alih untuk pembangunan mudah alih Mar 05, 2025 am 12:43 AM

Siaran ini menyusun helaian cheat berguna, panduan rujukan, resipi cepat, dan coretan kod untuk perkembangan aplikasi Android, BlackBerry, dan iPhone. Tiada pemaju harus tanpa mereka! Panduan Rujukan Gesture Touch (PDF) Sumber yang berharga untuk desig

See all articles