2013-01-15 5 views
0

나는 서버에 많은 정보를 게시하는 것을 의미하는 아주 AJAX 사이트를 구축하고 있습니다. 때로는 사용자가 입력하는 경우도 있습니다. 내가 일 & php에 게시 할 때 & 사용하지 않을 때

xmlhttp.open("POST", 'somepage.php' ,true); 
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
xmlhttp.send('post=stuuf I want to send'); 

을 게시하도록하겠습니다 방법

이있다

내 문제의 예는 firstName을 게시 할이 사람의 유형을 자신의 이름으로 FOO BAR = FOO &이 lastName = BAR

에 PHP는 당신에게 $ _POST를 얻을 [ 'firstName을은']은 FOO이며, $ _POST는 [ '과 lastName은'] BAR

하지만 사람의 유형은이 firstName을 같이 게시 할 이름 FOO & BAR SMITH = FOO 경우 & BAR입니다lastName = SMITH

PHP가 당신에게 $ _POST [ 'firstName']이 (가) FOO이고 $ _POST [ 'BAR']이 (가) 값이없고 이것이 떨어져 나기 시작하면. 그것은 내가 게시 된 모든것에서 &을 대체해야한다는 것을 의미하며 성가신 것으로 나타났습니다.

php가 &을 무시하고 하나의 큰 문자열을 전송하도록하는 방법이 있습니까? 여러개의 값을 보내야 할 때 '_'문자로 구분할 계획이었습니다. _을 입력 한 사용자를 & # 95로 바꿀 수 있었고 결코 다시 걱정할 필요가 없었습니다.

.htaccess에서이 작업을 수행 할 수 있습니까? 그렇지 않은 경우 PHP 파일 자체에서 수행 할 수 있습니까? 어떤 도움

답변

1

에 대한

덕분에 PHP의 끝에서이 작업을 수행하지 마십시오 ... 적절한 HTTP 요청을 보내! 모든 데이터를 클라이언트 쪽에서 관리하고 있습니다. URL로 인코딩 된 데이터를 보내는 경우 인코딩 된 URL로 보냅니다.

0

아니요.하지만 아약스 요청 내에서 문자열로 사용하기 전에 반드시 데이터를 이스케이프 처리해야합니다.

0

encodeURI 또는 encodeURIComponent을 사용하여 보내려는 데이터를 인코딩해야합니다. 그렇게하면 원하는 문자를 보낼 수 있습니다.

관련 문제