2012-05-03 2 views
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'에 공백이있는 곳을 얻습니다. 정확하게 문자열을 얻는 방법은 무엇입니까?http.send() ajax 사용

답변

1

PHP :

$field = urldecode($_POST['field']); 
+0

감사합니다. –

0

당신은 escapeencodeURI 모두를 사용하여 데이터를 두 번 탈출하고 있습니다. 또한 대신 encodeURIComponent을 사용하는 것이 좋습니다. 다음으로 변경해보세요.

var poststr = "field=" + encodeURIComponent(callerName) + 
    "&op=add&nocache=" + nocache;