Php 当参数包含:或时,url后的参数不会传递给被调用函数\
我正在将用户输入的关键字传递给 函数搜索结果($input) 基于Javascript的cakephp 就像来自Javascript的这样 其中输入来自用户Php 当参数包含:或时,url后的参数不会传递给被调用函数\,php,javascript,cakephp,Php,Javascript,Cakephp,我正在将用户输入的关键字传递给 函数搜索结果($input) 基于Javascript的cakephp 就像来自Javascript的这样 其中输入来自用户 当输入包含:作为未找到搜索结果的参数时,它会给出一个错误。它可以很好地用于其他输入。您可能希望在将搜索词从Javascript传递到PHP之前对其进行编码(我假设这意味着您正在使用AJAX) 您可以使用:encodeURIComponent: encodeURIComponent(term); 除了URI编码之外,问题在于:用于分离cak
当输入包含
:
作为未找到搜索结果的参数时,它会给出一个错误。它可以很好地用于其他输入。您可能希望在将搜索词从Javascript传递到PHP之前对其进行编码(我假设这意味着您正在使用AJAX)
您可以使用:encodeURIComponent
:
encodeURIComponent(term);
除了URI编码之外,问题在于:
用于分离cake参数,因此当您在搜索查询中使用它时,cake认为它是一个参数
但是,很明显,您可以使用“尾星语法”进行修复:
这应该将/search\u result/
之后的所有内容作为单个参数传递
希望对您有所帮助。encodeURIComponent(term)或escape(term)适用于除“@NadeemAnsari:您能给我们看一下您的路由文件吗?”?除非它被其他路由覆盖,否则它应该可以工作。不,没有具有此名称的其他路由,或者在覆盖它的上面没有指定其他路由。@NadeemAnsari:您尝试过用cake控制台外壳测试它吗?您的控制器和操作是否被称为search
和search\u result
?
Router::connect(
'/search_result/**', // notice two stars instead of one
array('controller' => 'search', 'action' => 'search_result')
);