Ben bir bağlantı tıklandığında veri göndermek için çalışıyorum bir sayfa ile çalışıyorum. Zaten POST ile bunu ve javascript düğmelerini kullanarak GET nasıl biliyorum, ama ben HTML bağlantıları ile çalışıyorum zaman nasıl aynı etkiyi alabilirim?
Eğer düz bir bağlantı varsa (bir GET işlemi olduğu) linke sorgu parametreleri olarak geçebilir
<a href="/myapp/somecontroller.php?id=17&name=fred">Save</a>
Eğer gizli alanlar şeyler koyabilirsiniz düğmesine basın işlemek için hiçbir javascript ile düz bir HTML form varsa
<form name="theform" method="post" action="/myapp/somecontroller.php">
<input type="hidden" name="id" value="17">
<input type="hidden" name="name" value="fred">
...
</form>
Bu herhangi bir javascript gerektirmez.
Sen GET veya POST kullanarak başka bir sayfaya veri iletebilirsiniz.
Verileri geçerken onun amacı dikkate gerektiğini unutmayın. Veri geçirerek uygulamanızda herhangi bir değişikliğe neden olmaz Eğer kullanmanız gerekir GET. Aksi takdirde, kullanmak POST. Gerekir
Eğer örneğin bir kullanıcı yönetimi sayfası varsa. Sadece kullanıcı bilgilerini gösterdiklerini zaman değişiklikleri her türlü yapım değil çünkü GET kullanarak olmalıdır: http://www.mywebsite.com/user.php?user=10
.
Kullanıcıların bilgilerini değiştirmek eğer kullanıcının verilerini değişiyor çünkü Ancak, POST kullanmanız gerekir:
<form name="userDetails" method="post" action="saveChanges.php">
<input type="text" name="firstName" value="" />
<input type="submit" value="save"/>
</form>
Alternatifli, siz de kullanın Cookies. Olabilir Bu web uygulama boyunca kullanılan bir tanımlama içine veri kaydedebilirsiniz.
Ben size soruyoruz ne tamamen açık değilim, ama bu ne gibi sesler olduğunu:
Sayfalar arasında veri aktarmak için, POST kullanmak ve HTML formları aka, GET için biliyorum. Javascript düğmelerini kullanarak ediyoruz.
"Javascript düğmeleri" yorumlarına bir çift vardır:
Eğer böyle bir şey yapıyorsun
(1) <input type="submit" onclick="doSomething();" value="Save my data" />
(2) <input type="button" onclick="doSomething();" value="Save my data" />
(3) <button onclick="doSomething();">Save my data</button>
Ya da bir şey gibi
(4) <input type="submit" value="Save my data" />
1, 2, ve 3 düğmeleri şeyler yapmak için javascript kullanarak örnekleridir. ("Javascript düğmeleri"). 4 standart bir HTML FORM düğmesi - Javascript kullanılmaktadır DEĞİLDİR; standart HTML form davranışları düğmesine FORM etiketi (<form method="get" action="datacollection.php">
gibi bir şey) belirtilen ne olursa olsun sayfasında veri göndermek için neden olacaktır.
Tarayıcı ve sunucu arasında - Şimdi, anlamak şey POST / GET web sayfaları arasında etrafında veri göndermek için yolu olmasıdır. Etrafında veri gönderme işlemi HTML (bir <a>
bağlantı), JavaScript (URL çağrı veya bir FORM teslim olsun tetikleyen bir işlev), veya benzeri FORM elemanları tarafından tetiklenebilir {[(1) }].
Ben herhangi bir suç niyetinde değilim, ancak soru sordum yolu bana (diğer posterleri tartışmak gibi) alıcı sayfasına veri aktarmak için farklı biçimlerini anlamaya çalışıyoruz değil düşündürüyor ve ayrıştırmak için nasıl sergiyi çerez değerler veya bir sorgu dizesi oluşturmak için form alanları yineleyemezsiniz gerçekten zor olurdu.
Yani burada bazı seçenekler şunlardır:
Form zaten formu (olgu 1, 2, ya da yukarıda 3) göndermek için Javascript kullanarak olsaydı, sadece bir HTML bağlantı aynı onclick kısmını ekleyin:
Save my dataIşlevi submitMyForm şöyle görünebilir:
function submitMyForm() {
// Get the form object -- you can also do this with the document.form array
var myForm = document.getElementById( 'userdata' );
// use the submit method of the form object
myForm.submit();
}
Yani özet olarak, normal bir HTML çapa bağlantı için bir javascript davranışı ("olay işleyicisi") ekleyeceğiz. Bir not - genel olarak, kullanıcılar "düğmeler şeyler, bağlantılar yerlere gitmek" kuralı bekliyoruz. Bu sert ve hızlı bir kural değil, ama bir düğme form verilerini gönderme gibi şeyler için kullanıldığı zaman insanlar genellikle mutlu vardır.
. Başka bir düz html sayfadan veri değerlerini geçmek istiyorsanız, bu teknikleri kullanabilirsiniz:
A nice demo of the above techniques is in the JavaScript FAQ collection - see Passing parameters to a page.