POST tabanlı script GET istekleri gönderme?

5 Cevap php

Ben POST tabanlı bulunuyor sitemde bir arama özelliği var. Şimdi, ancak, belirli anahtar kelimeler için arama bağlantıları sağlamak mümkün olmak istiyorum, ama formu GET istekleri işlemek değildir, çünkü bu tabii ki mümkün değildir. Bu etrafında bir yolu var mı?

5 Cevap

GET formun yöntemini ayarlama

<form action="/search" method="GET">

Sunucu izinleri arama uygulaması olsun üzerinden arama Bu çalışacaktır. Sadece notun, yine de arama için GET kullanarak yapılmalıdır. POST değişiklikleri ve sonrası verileri yapmaktır. Siz arama sonuçlarını "elde", yani GET kullanın ediyoruz.

süper global kullanın

$_REQUEST

Sen bir bağlantıdan formu POST javascript kullanabilirsiniz. Bunu yapmak için nasıl bir örnek burada yer almaktadır:

http://mentaljetsam.wordpress.com/2008/06/02/using-javascript-to-post-data-between-pages/

Ben GET kullanarak çalıştırmak için form değişen bakmak istiyorum.

GET yöntemler İdempotent olan istekleri için kullanılan bu yana arama mekanizması için GET kullanarak uygundur. yani devlet değişen için endişe olmadan defalarca bunları gerçekleştirebilirsiniz. POST semantik (ne olursa olsun bu senaryoda really oluyor bu olsun) veri gönderme ve bir değişiklik yapıyorsanız olduğunu

<input type="text" id="searchcat"></input>
<form method="POST">
    ...
    <input type="submit" onclick="this.form.action='/search?cat=' + document.getElementById('searchcat').value"></input>
</form>

Belki bu çözüm yardımcı olacak? Tabii ki "searchcat" kontrol combobox bir tür gibi görünüyor. Ve onclick daha işleyici JS-fonksiyonu olarak kullanmak, değil.END_DIV ...

Aslında bu teslim tıkladığınızda - tarayıcı, tüm HTTP-başlıklarını oluşturur form veri istek gövdesini toplar ve daha sonra kendi içinde GET değişkenleri içeren, url ile isteği gönderir. Eğer sahip olacak bu şekilde GET ve arama sunucu tarafı işleyicisi POST veri hem de.

Daha da iyisi, sizin denetimleri Değiştiğinde ele alarak eylem GET değişkenleri değiştirmek için. Ama örnek daha uzun ve zor okunan IDE olmadan.