1

我正在将 Java Servlet Web 应用程序转换为 php。

我应该如何将以下 Java 命令转换为 php?

String temp = request.getParameter("q");
String temp2 = URLDecoder.decode(temp, "UTF-8");

任何帮助将不胜感激...

编辑:

这是客户端代码:

 var myJSONText = playlist.serialize();

  $.ajax({
       type : 'POST',
       url : "playlisthandler.php",
       data : {
           "q" : encodeURIComponent(myJSONText)
       },
       success : function(response) { ... },
       error : function(response) { ... },
       dataType : "json"
   });

你是说 encodeURIComponent 是多余的吗?

4

2 回答 2

1

试试这个

$paramValue = urldecode($_GET['q']);
于 2012-05-27T15:04:50.783 回答
1

你不应该有这样做的必要。request.getParameter()servlet API 和PHP 中的(本质上也是 and )已经$_REQUEST基于$_GET请求字符编码做到了这一点。这样做的需要表明客户端通过对查询字符串组件进行双重编码而做错了。$_POST

根据您的代码,您确实对查询字符串进行了显式编码,而 jQuery 已经在幕后做到了这一点:

data : { "q" : encodeURIComponent(myJSONText) },

删除调用encodeURIComponent(),使. jQuery 已经注意到它会被 URL 编码。仅当您使用普通香草时才需要。data{ "q" : myJSONText }encodeURIComponent()XMLHttpRequest

于 2012-05-27T15:24:04.067 回答