Apakah perbezaan antara siaran dan dapatkan permintaan ajax?

WBOY
Lepaskan: 2022-07-01 17:04:25
asal
3454 orang telah melayarinya

Perbezaan: 1. Dapatkan menambah baris gilir data parameter ke URL yang ditunjukkan oleh atribut ACTION bagi borang yang diserahkan, manakala siaran menggunakan mekanisme "Siaran HTTP" untuk meletakkan setiap medan dan kandungannya dalam borang dalam "HTML HEADER" " dihantar bersama ke alamat URL yang ditunjuk oleh atribut ACTION; 2. Dalam mod dapatkan, bahagian pelayan menggunakan "Request.QueryString" untuk mendapatkan nilai pembolehubah. Untuk mod pos, bahagian pelayan menggunakan "Permintaan.Borang" untuk mendapatkan data yang diserahkan.

Apakah perbezaan antara siaran dan dapatkan permintaan ajax?

Persekitaran pengendalian artikel ini: sistem windows10, versi javascript1.8.5&&&html5, komputer Dell G3.

Apakah perbezaan antara siaran dan dapatkan semasa permintaan ajax? sama seperti setiap medan dalam borang. Satu surat menyurat boleh dilihat dalam URL. Siaran menggunakan mekanisme siaran HTTP untuk meletakkan setiap medan dalam bentuk dan kandungannya dalam HEADER HTML dan menghantarnya ke alamat URL yang ditunjukkan oleh atribut ACTION. Pengguna tidak dapat melihat proses ini.

2. Untuk kaedah dapatkan, bahagian pelayan menggunakan Request.QueryString untuk mendapatkan nilai pembolehubah Untuk kaedah pos, bahagian pelayan menggunakan Request.Form untuk mendapatkan data yang diserahkan. Parameter dalam kedua-dua cara boleh diperoleh menggunakan Permintaan.

3. Jumlah data yang dihantar oleh get adalah kecil dan tidak boleh lebih besar daripada 2KB. Jumlah data yang dihantar melalui pos adalah agak besar dan biasanya tidak terhad secara lalai. Tetapi secara teori, ia berbeza dari pelayan ke pelayan

4. Keselamatan get sangat rendah, tetapi keselamatan pos adalah tinggi.

5 Yang berikut adalah sama, iaitu senarai parameter di hujung halaman tindakan akan diabaikan.

Selain itu

Dapatkan permintaan mempunyai ciri-ciri berikut: ia akan menambah data ke URL dan menghantarnya ke pelayan dengan cara ini, biasanya menggunakan tanda soal? Mewakili penghujung alamat URL dan permulaan parameter data Setiap parameter data parameter berikut muncul dalam bentuk "nama=nilai", dan parameter dibezakan oleh penyambung &.

Permintaan pos mempunyai ciri berikut: data diletakkan dalam badan HTTP, dan ia disusun dalam lebih daripada satu cara, termasuk kaedah & sambungan dan kaedah pembatas Ia boleh menyembunyikan parameter dan memindahkan jumlah yang besar data, yang lebih mudah.

Ringkasnya: apabila kami menyerahkan borang, kami biasanya menggunakan pos Apabila kami ingin menghantar fail data yang lebih besar, kami perlu menggunakan pos. Apabila nilai yang diluluskan hanya perlu dalam mod parameter (nilai tidak lebih besar daripada 2KB), gunakan kaedah get.

Jadi penggunaan kedua-duanya untuk penyerahan ajax adalah jelas.

Pengetahuan yang diperluaskan:

Jadi bagaimana untuk memilih mendapatkan dan menghantar?

Tujuan permintaan get adalah untuk memberi pelayan beberapa parameter untuk mendapatkan senarai daripada pelayan Contohnya: list.aspx?page=1, yang bermaksud untuk mendapatkan data halaman pertama

    Jika panggilan adalah untuk mendapatkan semula data pada pelayan, gunakan get Selain itu, perlu diingatkan bahawa jika nilai yang ingin diambil akan berubah mengikut masa dan kemas kini proses, anda mesti menambah nombor rawak pada panggilan dapatkan atau Cap Waktu supaya panggilan berikutnya tidak menggunakan cache yang salah sebelumnya. Berbanding dengan siaran, dapatkan adalah lebih mudah dan lebih pantas, dan berfungsi dalam kebanyakan situasi.
  • Tujuan permintaan pos adalah untuk menghantar beberapa parameter ke pelayan

    Fail cache tidak boleh digunakan (mengemas kini fail atau pangkalan data pada pelayan), gunakan pos
  • Hantar sejumlah besar data ke pelayan (siaran tiada had data Apabila menggunakan pos
  • ke hantar input pengguna yang mengandungi aksara yang tidak diketahui, siaran lebih cepat daripada get lebih stabil dan boleh dipercayai
  • Kami tahu tujuan mendapatkan adalah untuk mendapatkan maklumat seperti namanya. Ia direka untuk memaparkan maklumat pada halaman yang ingin anda baca. Penyemak imbas akan menimbal hasil pelaksanaan permintaan get Jika permintaan get yang sama dikeluarkan semula, penyemak imbas akan memaparkan hasil penimbal dan bukannya menjalankan semula keseluruhan permintaan. Proses ini berbeza daripada pemprosesan penyemak imbas, tetapi ia sengaja direka untuk membuat panggilan lebih cekap. Panggilan get akan mendapatkan semula data untuk dipaparkan pada halaman Data tidak akan ditukar pada pelayan, jadi anda akan mendapat hasil yang sama apabila anda meminta semula data yang sama.

Kaedah siaran hendaklah digunakan di mana maklumat pelayan perlu dikemas kini. Contohnya, jika panggilan menukar data yang disimpan pada pelayan, hasil yang dikembalikan daripada dua panggilan pos yang sama mungkin berbeza sama sekali kerana nilai panggilan pos kedua berbeza daripada nilai panggilan pos pertama telah mengemas kini beberapa panggilan tersebut nilai. Panggilan pos biasanya mengambil respons daripada pelayan dan bukannya menyimpan cache respons sebelumnya.

dapatkan permintaan

permintaan siaran
oBtn.onclick = function() {
var xhr = null;
try {
xhr = new XMLHttpRequest();
} catch (e) {
xhr = new ActiveXObject('Microsoft.XMLHTTP');
}
/*
1.缓存 在url?后面连接一个随机数,时间戳
2.乱码 编码encodeURI
*/
xhr.open('get','2.get.php?username='+encodeURI('刘伟')+'&age=30&' + new Date().getTime(),true);
xhr.send();
xhr.onreadystatechange = function() {
if ( xhr.readyState == 4 ) {
if ( xhr.status == 200 ) {
alert( xhr.responseText );
} else {
alert('出错了,Err:' + xhr.status);
}
}
}
}
Salin selepas log masuk

[Cadangan tutorial berkaitan:
oBtn.onclick = function() {
var xhr = null;
try {
xhr = new XMLHttpRequest();
} catch (e) {
xhr = new ActiveXObject('Microsoft.XMLHTTP');
}
xhr.open('post','2.post.php',true);
//post方式,数据放在send()里面作为参数传递
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');//申明发送的数据类型
//post没有缓存问题
//无需编码
xhr.send('username=刘伟&age=30');
xhr.onreadystatechange = function() {
if ( xhr.readyState == 4 ) {
if ( xhr.status == 200 ) {
alert( xhr.responseText );
} else {
alert('出错了,Err:' + xhr.status);
}
}
}
}
Salin selepas log masuk
Tutorial video AJAX

]

Atas ialah kandungan terperinci Apakah perbezaan antara siaran dan dapatkan permintaan ajax?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!