0
if(document.getElementById(callerName).checked) {
    //alert(callerName);        
    var poststr = "field=" + escape(encodeURI(callerName)) +
      "&op=add" + "&nocache=" + nocache;
}
else {
    //alert(callerName);
    var poststr = "field=" + escape(encodeURI(callerName)) + 
      "&op=del" + "&nocache=" + nocache;
}
http.send(poststr);

$_POST['field']が受け取ったとき、スペースがあるところに '%20' が表示されます..文字列を正確に取得するための解決策はありますか?

4

2 に答える 2

1

PHP:

$field = urldecode($_POST['field']);
于 2012-05-03T18:26:21.643 に答える
0

escapeと の両方を使用して、データをダブルエスケープしていますencodeURI。また、encodeURIComponent代わりに使用することをお勧めします。これに変更してみてください:

var poststr = "field=" + encodeURIComponent(callerName) + 
  "&op=add&nocache=" + nocache;
于 2012-05-03T18:26:28.040 に答える