2016-03-29 47 views
0

我想要打開個人資料頁面,如www.website.com/slim/username(其中username是唯一的)。使用slim框架在php中創建友好的url

我目前使用slim php框架進行路由GET請求。所以,當我打開www.website.com/profile/username它正確地執行了/username定義的路徑,並給出這樣

{"users":[{"id":"01","firstname":"kamron","lastname":"shaw","gender":"male","status":"Offline"}]} 

從這一點上,我想與個人資料頁面模板,這個數據集成簡單的JSON響應,所以我在做了一個個人主頁頁面模板www.website.com/profile.php並從那裏使用ajax作出GET請求
www.website.com/slim/username並接收數據並用模板顯示它。

問題是,如果用戶直接導航到www.website.com/slim/username,他只會看到原始JSON響應。

我希望用戶在瀏覽器直接發出GET請求時,看到帶有模板的JSON響應。

我該如何做到這一點?如果我在任何地方都有錯,請告訴我一個合適的方法。

回答

0

使用 $isXHR = $app->request->isAjax();$isXHR = $app->request->isXhr(); 檢查請求AJAX與否。如果沒有比阿賈克斯重定向到你想要的頁面(如登錄,或者登錄頁面,如果沒有登錄的可能是配置文件)

if($isXHR){ 
    echo 'json'; 
}else{ 
    render view 
} 
+0

但我確實希望用戶看到喜歡在Facebook上的個人資料。 –

+0

我的理解是: 此網址'www.website.com/ slim/username'給出JSON數據 此網址'www.website.com/profile.php'給出模板 但是您想要顯示Profile頁面在這個網址上'www.website.com/ slim/username'也 所以如果請求不是ajax,請不要重定向。呈現模板。 – iamkdev

+0

如果用戶想要查看其他成員的個人資料,該怎麼辦?當他打開「www.website.com/slim/username」 –