2012-08-15 40 views
0

我用php,jQuery和修身PHP框架開始,我被困在製作超薄處理器(路由)jqeryUI自動完成請求。jQueryUI的自動完成與修身框架

  1. jqeryui自動完成發送數據作爲term GET參數,即restapi.php/test/?term=hello
  2. 搭配修身我能處理像restapi.php/test/hello請求等

如何解決?我自己認爲的解決方案是用mod重寫URL(無論如何基本上與Slim一起使用),但我不確定這是否是正確的方式。

我會很高興爲您的修訂和建議,如果重寫是最好的方式,用例子提出將是我很有幫助。謝謝。

+0

我發現默認(超薄)mod_rewrite設定簡便的方法。 只需註冊以'/'或'/ *'結尾的路由並通過經典的方式讀取GET請求即可。即'$ rest-> get('/ test/*',function(){...' __我現在覺得很愚蠢_ – dmnc 2012-08-15 11:15:46

+0

你也可以在客戶端JS解決這個問題。回答如果您想知道怎麼辦。 – 2012-08-15 13:45:38

回答

1

事實上,你可能不應該使用/*做你正在做的事情。 SLIM提供了一種可以獲取請求參數的方法。

$dataIn = $app->request()->params(); 

這會給你一個請求參數數組。所以,如果您的GET請求是這樣的:

restapi.php/test/?term=hello&page=1&limit=15 

$dataIn = $app->request()->params(); 

// $dataIn['term'] = 'hello' 
// $dataIn['page'] = 1 
// $dataIn['term'] = 15 

此外,還可以通過拋出在ARG到param()方法搶具體參數。

$term = $app->request()->params('term'); 

這將使您的路線參數和請求參數之間的區別變得更容易。 ;-)

+0

是的,我發現ID過,但我在這裏是新手,我不能回答我的問題了幾個小時,然後我忘了... 我的要求註冊現已像這樣:'$ app-> get('/ autocomplete /:handler/*',function($ handler){...'並且我將'$ _GET [「term」]'傳遞給了被處理的函數。 .. – dmnc 2012-09-09 23:15:21