Apa itu postback?

142

Saya sedang membuat jalan ke pengembangan web dan telah melihat kata postback dilemparkan sekitar. Berasal dari latar belakang non-web, apa yang harus diketahui oleh pengembang web baru tentang postback? (Yaitu apa mereka dan kapan mereka muncul?)

Setiap informasi lebih lanjut yang ingin Anda bagikan untuk membantu seorang pemula di dunia web menyadari postback akan sangat dihargai.

Scott Saad
sumber

Jawaban:

178

Berikut ini ditujukan untuk pemula ke ASP.Net ...

Kapan itu terjadi?

Postback berasal dari browser klien. Biasanya salah satu kontrol pada halaman akan dimanipulasi oleh pengguna (tombol diklik atau dropdown diubah, dll), dan kontrol ini akan memulai postback. Keadaan kontrol ini, ditambah semua kontrol lain pada halaman, (dikenal sebagai Lihat Negara) dikirim Kembali ke server web.

Apa yang terjadi?

Paling umum postback menyebabkan server web untuk membuat contoh kode di belakang kelas halaman yang memprakarsai postback. Objek halaman ini kemudian dieksekusi dalam siklus hidup halaman normal dengan sedikit perbedaan (lihat di bawah). Jika Anda tidak mengarahkan pengguna secara khusus ke halaman lain di suatu tempat selama siklus hidup halaman, hasil akhir dari postback akan menjadi halaman yang sama yang ditampilkan kepada pengguna lagi, dan kemudian postback lain dapat terjadi, dan seterusnya.

Mengapa itu terjadi?

Aplikasi web sedang berjalan di server web. Untuk memproses respons pengguna, menyebabkan status aplikasi berubah, atau pindah ke halaman lain, Anda perlu mendapatkan beberapa kode untuk dijalankan di server web. Satu-satunya cara untuk mencapai hal ini adalah mengumpulkan semua informasi yang sedang dikerjakan pengguna dan mengirimkan semuanya kembali ke server.

Beberapa hal yang perlu diperhatikan oleh pemula adalah ...

  • Keadaan kontrol pada halaman belakang posting tersedia dalam konteks. Ini akan memungkinkan Anda untuk memanipulasi kontrol halaman atau mengalihkan ke halaman lain berdasarkan informasi di sana.
  • Kontrol pada formulir web memiliki acara, dan karenanya penangan acara, sama seperti kontrol lainnya. Bagian inisialisasi siklus hidup halaman akan dieksekusi sebelum pengendali kejadian kontrol yang menyebabkan posting kembali. Oleh karena itu kode dalam event handler Init and Load halaman akan dieksekusi sebelum kode dalam event handler untuk tombol yang diklik pengguna.
  • Nilai properti "Page.IsPostBack" akan ditetapkan ke "true" ketika halaman dieksekusi setelah postback, dan "false" sebaliknya.
  • Teknologi seperti Ajax dan MVC telah mengubah cara kerja postback.
Andy McClrolley
sumber
2
Koreksi kecil - "Keadaan kontrol ini, ditambah semua kontrol lain pada halaman, (dikenal sebagai Lihat Negara) dikirim Kembali." Data ini sebenarnya adalah data Postback. Data kondisi tampilan juga diposting kembali tetapi itu adalah keadaan kontrol terakhir kali mereka berada di server.
Simon Keep
Catatan postback digunakan pada semua platform .NET, bukan hanya ASP.NET
JNF
1
"Untuk memproses respons pengguna, menyebabkan status aplikasi berubah, atau pindah ke halaman lain, Anda perlu mendapatkan beberapa kode untuk dieksekusi di server web." Ini sedikit menyesatkan. Anda tidak selalu memerlukan 'kode untuk dijalankan di server web' untuk melakukan hal-hal ini. Jika memungkinkan, akan lebih baik untuk memproses input pengguna pada klien. Salah satu hal terpenting yang perlu diketahui tentang post-back adalah bagaimana / kapan tidak melakukannya; yaitu, kapan harus mengurus hal-hal sisi klien, atau melalui Ajax, dll.
Hawkeye Parker
1
Setuju @HawkeyeParker. Saya menulis ini kembali ketika semua yang saya tahu adalah arsitektur Formulir Web. Hal-hal pasti telah datang jauh sejak itu! Semua penjelasan saya jelas tidak mempertimbangkan Ajax dan sama sekali.
Andy McCloucher
27

Dari wikipedia :

Postback adalah tindakan yang diambil oleh halaman web interaktif, ketika seluruh halaman dan isinya dikirim ke server untuk memproses beberapa informasi dan kemudian, server memposting halaman yang sama kembali ke browser.

Orang belanda
sumber
@Galwegian: Jangan Anda pikir itu hanya akan terjadi ketika beberapa kesalahan validasi terjadi sehingga menyajikan halaman yang sama dengan hasilnya.
Shirgill Farhan
21

Postback terjadi ketika halaman web memposting datanya kembali ke script yang sama / dll / apa pun yang menghasilkan halaman di tempat pertama.

Contoh dalam C # (asp.net)

...

if (!IsPostback)
   // generate form
else
   process submitted data;
Chris Cudmore
sumber
20

Memperluas definisi yang diberikan, hal terpenting yang perlu Anda ketahui sebagai pengembang-web adalah bahwa TIDAK ADA NEGARA YANG DILINDUNGI di antara postback. Ada beberapa cara untuk mempertahankan status, seperti koleksi Sesi atau kondisi tampilan di ASP.NET, tetapi sebagai aturan praktis tuliskan program Anda di mana Anda dapat membuat kembali negara Anda di setiap postback.

Ini mungkin perbedaan terbesar antara pemrograman aplikasi desktop dan berbasis web, dan butuh waktu berbulan-bulan untuk belajar sampai pada titik di mana saya secara naluriah menulis dengan cara ini.

BPR.
sumber
2
menempatkan dengan baik. tidak ada yang disimpan kecuali di sesi dan kondisi tampilan
Mil
1
Poin yang bagus! Ya, ini jelas seperti sesuatu yang membutuhkan sedikit waktu untuk membungkus otak seseorang, ketika datang dari domain pemrograman klien.
Scott Saad
10

Pengembangan web umumnya melibatkan halaman html yang berisi formulir ( <form>tag). Formulir pos ke URL. Anda dapat mengatur formulir yang diberikan untuk mengirim ke url apa pun yang Anda inginkan. Sebuah postback adalah ketika sebuah form memposting kembali ke halaman / urlnya sendiri.

Istilah ini memiliki arti khusus untuk pengembang ASP.Net , karena ini adalah mekanisme utama yang mendorong banyak perilaku untuk halaman - khususnya 'penanganan acara'. Halaman ASP.Net memiliki tepat satu bentuk server yang hampir selalu memposting kembali ke dirinya sendiri, dan posting ini memicu eksekusi pada server dari sesuatu yang disebut Siklus Hidup Halaman.

Joel Coehoorn
sumber
6

Istilah ini juga digunakan dalam pengembangan aplikasi web ketika berinteraksi dengan API layanan web pihak ke-3

Banyak API membutuhkan integrasi interaktif dan non-interaktif. Biasanya bagian interaktif dilakukan menggunakan pengalihan (situs 1 mengarahkan pengguna ke situs 2, di mana mereka masuk, dan diarahkan kembali). Bagian non-interaktif dilakukan dengan menggunakan 'postback', atau HTTP POST dari server situs 2 ke server situs 1.

Hemant
sumber
5

Ketika skrip menghasilkan formulir html dan tindakan itu, bentuk POST kembali ke bentuk yang sama.

mspmsp
sumber
4

Postback pada dasarnya adalah ketika suatu formulir dikirimkan ke halaman atau skrip yang sama (.php .asp dll) saat Anda sedang memproses data daripada mengirim Anda ke halaman baru.

Contohnya bisa berupa halaman di forum (viewpage.php), tempat Anda mengirimkan komentar dan dikirimkan ke halaman yang sama (viewpage.php) dan Anda akan melihatnya dengan konten baru yang ditambahkan.

Lihat: http://en.wikipedia.org/wiki/Postback

Morphio
sumber
3

Posting kembali adalah segala sesuatu yang menyebabkan halaman dari browser web klien didorong kembali ke server.

Ada banyak info di luar sana, cari google untuk postback.

Sebagian besar waktu, kontrol ASP apa pun akan menyebabkan posting kembali (klik tombol / tautan) tetapi beberapa tidak kecuali Anda menyuruhnya (kotak centang / kombo)

Miles
sumber
3

Postback mengacu pada formulir HTML. Formulir HTML memiliki 2 metode: GET dan POST. Metode ini menentukan bagaimana data dikirim dari klien melalui formulir, ke server. Postback adalah tindakan POST kembali ke halaman pengiriman. Intinya, ia membentuk rangkaian lengkap dari klien, ke server, dan kembali lagi.

steve_c
sumber
2

Namun pertanyaannya dijawab secara akurat di atas, tetapi hanya ingin membagikan pengetahuan saya. Postback pada dasarnya adalah properti yang dapat kita gunakan saat melakukan beberapa tugas yang membutuhkan kita untuk mengelola keadaan halaman, yaitu kita telah memecat beberapa event untuk mis klik tombol atau jika kita telah me-refresh halaman kita. Ketika halaman kami dimuat untuk pertama kalinya, itu adalah jika kami telah me-refresh halaman kami, pada saat itu postback-property adalah false, dan setelah itu menjadi benar.

if(!ispostback)
{
 // do some task here
}
else
{
 //do another task here
}

http://happycodng.blogspot.in/2013/09/concept-of-postback-in.html

pengguna3114934
sumber