1

我正在将用户输入的关键字传递给 cakephp fron Javascript 中的函数 search_result($input),例如www.example.com/search_result/input from Javascript where input is from user 当输入包含:as时会出错no arguments found for search_result。它适用于其他输入。

4

2 回答 2

2

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

您可以使用以下方法执行此操作encodeURIComponent

encodeURIComponent(term);
于 2012-06-28T13:45:28.513 回答
0

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

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

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

这应该将之后的所有内容/search_result/作为单个参数传递。

希望有帮助。

于 2012-06-28T17:14:49.227 回答