当参数包含:或\时,url之后的参数不会传递给被调用的函数

时间:2012-06-28 13:41:28

标签: php javascript cakephp

我正在传递用户输入的关键字 function search_result($ input) 在cakephp fron Javascript 喜欢来自Javascript的这个www.example.com/search_result/input 输入来自用户 当输入包含:no arguments found for search_result时,它会出错。它适用于其他输入。

2 个答案:

答案 0 :(得分:2)

您可能希望在将搜索词从Javascript传递给PHP之前对其进行编码(我假设您使用的是AJAX)。

您可以使用以下代码执行此操作:encodeURIComponent

encodeURIComponent(term);

答案 1 :(得分:0)

除了URI编码之外,问题是:用于分隔蛋糕参数,因此当您在搜索查询中使用它时,蛋糕认为它是一个参数。

但是,the book中有一个修复,显然,您可以使用“尾随星语法”:

Router::connect(
    '/search_result/**', // notice two stars instead of one
    array('controller' => 'search', 'action' => 'search_result')
);

这应该在/search_result/作为单个参数后传递所有内容

希望有所帮助。