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.
Persekitaran pengendalian artikel ini: sistem windows10, versi javascript1.8.5&&&html5, komputer Dell G3.
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
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 siaranoBtn.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); } } } }
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); } } } }
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!