PHP Zend Framework - İstek Nesne dan Talebi URI Fragment Nasıl Gidilir?

4 Cevap php

Say örneğin i someController kontrolörün someAction() eylem beni alır bir URI http://127.0.0.1/somecontroller/someaction#12345 var. Oradan, i $this->getRequest() aracılığıyla Request nesnesi almak mümkün duyuyorum.

ben de iste nesneden URI ilgili çeşitli bilgiler almak mümkün.

Ama, nasıl ben (eg # sonra "12345" bölümünü yani) fragmanını alabilirsiniz? Ne getRequestUri(), ne getParams() fragman bölümünü açın.

Teşekkürler!

4 Cevap

Eğer URL ayrıştırmak ve geri fragmanı gönderir bir JavaScript pasajı yazmak eğer URL'nin fragmanı kısmı GET istekleri (ya da bu konuda HTTP istek herhangi bir tür) üzerinden sunucuya gönderilen hiçbir zaman, bunu elde edebilirsiniz tek yoldur Örneğin Ajax ile sunucuya.

Bu yalnız PHP ile yapılamaz.

HTTP protokolü patent açıklamasına göre, parça parça göz ardı edilir. Ancak, tarayıcılar karma ile yönlendirmeyi yapmak.

If you generate hashes automatically, you may pass the id as the request parameter: http://127.0.0.1/somecontroller/someaction/id/12345/#12345

ve daha sonra:

$this->getRequest()->getParam('id')

Ama bu sıcak karma ile davayı idare edecek, ör Kullanıcı el URL girdiğinde.

Sen kullanamazsınız:

explode("#",$_SERVER['REQUEST_URI'])

Eğer $_SERVER['REQUEST_URI'] aradığınızda, # sonra kelime olsun asla çünkü. Örneğin link www.example.com/about#test, ve $_SERVER['REQUEST_URI'], sadece www.example.com/about olsun çağırdığınızda.

Eğer php işlev (ler) kullanmak olamazdı explode("#",$_SERVER['REQUEST_URI'])? Belki ben soruyu yanlış ettik.