我正在传递用户输入的关键字
function search_result($ input)
在cakephp fron Javascript
喜欢来自Javascript的这个www.example.com/search_result/input
输入来自用户
当输入包含:
为no arguments found for search_result
时,它会出错。它适用于其他输入。
答案 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/
作为单个参数后传递所有内容。
希望有所帮助。