我同样在 URI 上运行 REST 服务
localhost/1.0/json/host/:list/
其中 :list 是要搜索的参数。对应的PHP函数(使用Tonic)
public function get($list) {
$list = urldecode($list);
$list = mysql_real_escape_string($list);
正在解码和转义提供的任何输入。只要没有输入必须真正编码,这就会起作用。
对应的js应用使用encodeURIcomponent对输入框中的输入进行编码
var selectedList = encodeURIComponent($('#SelectList').val());
并触发 jQuery.get 到上述 REST 资源
$.get("http://localhost/rest/1.0/json/host/"+ selectedList + "/", function(data) {
如果在输入框中选择了像“923/50”这样的输入,则参数被正确编码
XHR 在“localhost/rest/1.0/json/host/923%2F05/”
但是仍然不可能从我的数据库中获取连接到这个参数的记录。我一直得到404。所以我的猜测是不可能编码像“/”这样的字符。
我应该怎么做才能解决这个问题?