Untuk parameter GET, Anda dapat mengambilnya dari document.location.search
:
var $_GET = {};
document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () {
function decode(s) {
return decodeURIComponent(s.split("+").join(" "));
}
$_GET[decode(arguments[1])] = decode(arguments[2]);
});
document.write($_GET["test"]);
Untuk parameter POST, Anda dapat membuat serial $_POST
objek dalam format JSON menjadi <script>
tag:
<script type="text/javascript">
var $_POST = <?php echo json_encode($_POST); ?>;
document.write($_POST["test"]);
</script>
Saat Anda melakukannya (melakukan sesuatu di sisi server), Anda mungkin juga mengumpulkan parameter GET di PHP:
var $_GET = <?php echo json_encode($_GET); ?>;
Catatan: Anda memerlukan PHP versi 5 atau lebih tinggi untuk menggunakan json_encode
fungsi bawaan.
Pembaruan: Berikut implementasi yang lebih umum:
function getQueryParams(qs) {
qs = qs.split("+").join(" ");
var params = {},
tokens,
re = /[?&]?([^=]+)=([^&]*)/g;
while (tokens = re.exec(qs)) {
params[decodeURIComponent(tokens[1])]
= decodeURIComponent(tokens[2]);
}
return params;
}
var $_GET = getQueryParams(document.location.search);
Ada plugin untuk jQuery untuk mendapatkan GET params yang disebut .getUrlParams
Untuk POST, satu-satunya solusi adalah menggemakan POST ke dalam variabel javascript menggunakan PHP, seperti yang disarankan Moran.
sumber
mengapa tidak menggunakan PHP lama yang bagus? misalnya, katakanlah kita menerima parameter GET 'target':
sumber
Atau Anda dapat menggunakan http://plugins.jquery.com/project/parseQuery yang satu ini , lebih kecil dari kebanyakan (dikecilkan 449 byte), mengembalikan objek yang mewakili pasangan nama-nilai.
sumber
Dengan bahasa sisi server apa pun, Anda harus memancarkan variabel POST ke dalam javascript.
.BERSIH
Berhati-hatilah dengan nilai kosong. Jika variabel yang Anda coba keluarkan benar-benar kosong, Anda akan mendapatkan kesalahan sintaks javascript. Jika Anda tahu itu string, Anda harus membungkusnya dengan tanda kutip. Jika itu bilangan bulat, Anda mungkin ingin menguji untuk melihat apakah itu benar-benar ada sebelum menulis baris ke javascript.
sumber
Anda dapat mencoba plugin Query String Object untuk jQuery.
sumber
Inilah sesuatu untuk mengumpulkan semua
GET
variabel dalam objek global, rutinitas yang dioptimalkan selama beberapa tahun. Sejak munculnya jQuery, sekarang tampaknya tepat untuk menyimpannya di jQuery itu sendiri, saya memeriksa dengan John tentang implementasi inti potensial.Contoh penggunaan:
Semoga ini membantu. ;)
sumber
Plugin jQuery tampak bagus tetapi yang saya butuhkan adalah fungsi js cepat untuk mengurai parameter get. Inilah yang saya temukan.
http://www.bloggingdeveloper.com/post/JavaScript-QueryString-ParseGet-QueryString-with-Client-Side-JavaScript.aspx
sumber
Jika $ _GET Anda multidimensi, ini mungkin yang Anda inginkan:
sumber
sederhana, namun berguna untuk mendapatkan vars / values dari URL:
Saya menemukannya di suatu tempat di internet, hanya memperbaiki beberapa bug
sumber
Gunakan fungsi berikut:
dan mengakses variabel seperti di
vars['index']
mana'index'
nama variabel get.sumber
http://foo.com/?a=b#bar
. Ia pikirb#bar
adalah nilai untuka
.ganti VARIABLE_KEY dengan kunci variabel untuk mendapatkan nilainya
sumber
Sekadar catatan, saya ingin tahu jawaban atas pertanyaan ini, jadi saya menggunakan metode PHP:
Dengan begitu semua javascript / jquery saya yang berjalan setelah ini dapat mengakses semua yang ada di jGets. Saya rasa ini adalah solusi elegan yang bagus.
sumber
Pendekatan saya:
sumber