Rumah >hujung hadapan web >tutorial js >JQuery Ajax Perbezaan Antara Dapatkan Vs Post

JQuery Ajax Perbezaan Antara Dapatkan Vs Post

Joseph Gordon-Levitt
Joseph Gordon-Levittasal
2025-03-01 08:44:10382semak imbas

jQuery AJAX Differences Between GET vs POST

mata teras

    JQuery Dalam permintaan Ajax, Dapatkan dan Pos adalah kedua -dua kaedah untuk menghantar data ke pelayan. Perbezaan utama ialah mendapatkan data yang melekat pada URL (bentuk pasangan nilai utama), yang dapat dilihat di bar alamat penyemak imbas, yang sesuai untuk menghantar sedikit data;
  • untuk operasi idempotent (seperti pertanyaan pangkalan data), GET harus digunakan;
  • Kaedah Get dan Post boleh digunakan serentak dalam satu aplikasi mengikut keperluan tertentu. Walaupun Post lebih selamat daripada mendapatkan (data tidak terdedah kepada URL), tidak menyediakan penyulitan. Untuk memastikan keselamatan data, HTTPS harus digunakan untuk menyulitkan data yang dihantar antara klien dan pelayan.

Dapatkan dan hantar

    Dapatkan permintaan digunakan untuk mendapatkan data dari pelayan.
  • Permintaan pos digunakan untuk mengubah suai data pada pelayan.

bila hendak menggunakan get

Jika pemprosesan borang adalah idempotent (iaitu, tidak ada kesan yang dapat dilihat di dunia), kaedah bentuk harus diperolehi. Banyak carian pangkalan data tidak mempunyai kesan sampingan yang jelas dan sesuai untuk membuat pertanyaan.

Ciri -ciri GET:

    Gunakan untuk operasi selamat dan pos untuk operasi yang tidak selamat.
  • Dapatkan permintaan boleh di -cache.
  • Dapatkan permintaan boleh disimpan dalam sejarah penyemak imbas.
  • Dapatkan permintaan boleh ditandakan.
  • Dapatkan permintaan boleh diedarkan dan dikongsi.
  • Dapatkan permintaan boleh digodam.
[w3.org mendapatkan definisi definisi kaedah] (w3c mendapatkan pautan definisi kaedah hendaklah dimasukkan di sini)

Bilakah saya harus menggunakan pos

Jika perkhidmatan yang berkaitan dengan pemprosesan borang mempunyai kesan sampingan (mis., Mengubah pangkalan data atau melanggan perkhidmatan), kaedah harus diposkan.

Anda boleh menggunakan pos apabila memproses permintaan yang panjang - Jika anda menghantar sejumlah besar data atau menghantar data sensitif ke atas HTTPS, anda harus menggunakan pos. Sesetengah penyemak imbas (seperti Internet Explorer) mempunyai sekatan pada panjang rentetan URL, jadi jika anda menggunakan GET, beberapa operasi 'mungkin terganggu.

Operasi berikut mungkin memerlukan pertimbangan menggunakan pos:

    Terbitkan mesej ke papan buletin, kumpulan berita, senarai mel, atau kumpulan artikel yang serupa.
  • Menyediakan blok data kepada proses pemprosesan data, seperti hasil penyerahan borang.
  • Panjangkan pangkalan data dengan melaksanakan operasi.
  • Annotate sumber sedia ada.
[w3.org post definisi kaedah] (pautan definisi kaedah pasca w3c hendaklah dimasukkan di sini)

Dapatkan dan hantar dalam panggilan Ajax

Panggilan AJAX lebih biasa digunakan untuk mendapatkan kecuali data sensitif dihantar ke pelayan atau skrip yang memproses data pada pelayan dipanggil. Ini kerana apabila menggunakan XMLHTTPREQUEST, pelayar melaksanakan pos sebagai proses dua langkah (menghantar header terlebih dahulu, dan kemudian menghantar data). Ini bermakna bahawa mendapatkan permintaan bertindak balas dengan lebih cepat - inilah yang diperlukan dalam persekitaran Ajax! Oleh kerana permintaan "Ajax" dibatasi oleh dasar homolog, risiko keselamatan menggunakan GET dan bukannya pos adalah terhad. Gunakan untuk "mendapatkan" maklumat dari pelayan, seperti memuatkan fail JavaScript (boleh menggunakan fungsi singkatan AJAX $.getScript()) atau memuatkan fail JSON (boleh menggunakan fungsi singkatan AJAX $.getJSON()).

fungsi JQuery Ajax menggunakan Get As Lalai: $.get(), $.getScript(), $.getJSON(), .load()

fungsi jQuery ajax menggunakan pos sebagai lalai: $.post()

Dapatkan Contoh Call Ajax - Panggil Skrip PHP untuk mendapatkan pengikut Twitter

$.ajax({
  url: 'getTwitterFollowers.php',
  type: 'GET',
  data: 'twitterUsername=jquery4u',
  success: function(data) {
    // 成功时调用
    $('#ajaxphp-results').html(data);
  },
  error: function(e) {
    // 发生错误时调用
    //console.log(e.message);
  }
});

Lihat demo

Contoh Call Ajax - Hantar borang log masuk

var $form = $("#myForm");
var url = $form.attr("action") + "?" + $form.serialize();
$("#" + id).html(url);

$.ajax({
  type: "POST",
  url: action,
  data: $form,
  success: function(response) {
    if (response == 'success')
      $("#myForm").slideUp('slow', function() {
        $("#msg").html("You have logged in successfully!");
      });
    else
      $("#msg").html("Invalid username and/or password.");
  }
});

bahan bacaan lain Contoh Penyerahan Bentuk Contoh Contoh ini tidak berfungsi dengan AJAX kerana permintaan ini berlaku di latar belakang, tetapi ia dapat membantu anda memahami lebih lanjut mengenai apa yang sedang berlaku antara jenis permintaan yang berbeza. Apabila menggunakan GET, permintaan HTTP dijana dan data dihantar ke pelayan web sebagai satu set parameter pengekodan dalam rentetan pertanyaan yang dilampirkan pada URL. Sebagai contoh, dengan menggunakan penyerahan borang log masuk adalah idea yang tidak baik kerana butiran log masuk akan dipaparkan di bar alamat.

Walau bagaimanapun, jika kita menggunakan pos, parameter akan diluluskan melalui badan permintaan HTTP, bukan URL. Ini akan berlaku di latar belakang antara penyemak imbas dan pelayan web.

<code>GET /login.php?username=user&password=12345 HTTP/1.1
Host: domain.com</code>

Dapatkan Cache Get dimaksudkan untuk digunakan untuk membaca maklumat untuk dipaparkan pada halaman. Penyemak imbas akan cache hasil permintaan GET, dan jika permintaan GET yang sama dibuat lagi, mereka akan memaparkan hasil cache dan bukannya menghidupkan keseluruhan permintaan.
<code>POST /login.php HTTP/1.1
Host: domain.com
username=user&password=12345</code>

REST- "RESTFUL" Senibina Pelayan Pelanggan Sebagai contoh, HTTP mempunyai perbendaharaan kata yang sangat kaya dari segi kata kerja (atau "kaedah"), URI, jenis media internet, permintaan dan kod tindak balas. REST menggunakan ciri -ciri sedia ada protokol HTTP, dengan itu membolehkan proksi hierarki dan komponen gerbang sedia ada untuk melaksanakan fungsi lain di rangkaian, seperti caching HTTP dan penguatkuasaan keselamatan.


membaca maklumat mengenai "pemindahan keadaan denotatif" (rehat):

http://en.wikipedia.org/wiki/representational_state_transferal_example:_the_world_wide_web


REST- "RESTFUL" WEB SERVICE (API) Ia adalah satu set sumber dengan empat aspek yang ditakrifkan: URI asas perkhidmatan web, seperti http://example.com/resources/; Ini biasanya JSON, XML, atau YAML, tetapi boleh menjadi jenis media internet yang sah; [11]

[ pautan perkhidmatan web)

Kesimpulan

Saya harap anda mempunyai pemahaman yang jelas tentang masa untuk menggunakan dan bila menggunakan pos. Jika anda masih tidak pasti atau ingin menyemak latar belakang panggilan Ajax, gunakan alat seperti Panel Net Firebug untuk melihat di mana data dihantar (seperti dalam tajuk) dan jenis permintaan. Selain itu, saya mengucapkan selamat pengaturcaraan Ajax!

FAQs (FAQs) Mengenai Ajax Get and Post Kaedah

(ini harus disusun semula dan diterjemahkan dalam bahasa yang lebih ringkas mengikut bahagian FAQ asal) disebabkan oleh batasan ruang, terjemahan bahagian FAQ ditinggalkan di sini. Sila berikan bahagian FAQ asal, dan saya dapat membantu anda menerjemahkannya ke dalam versi ringkas.

Atas ialah kandungan terperinci JQuery Ajax Perbezaan Antara Dapatkan Vs Post. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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