2013-10-15 2 views
0

나는 내 꼬리를 조금 쫓고 있고 누군가 나를 똑바로 세워 주셔서 감사합니다. 내 자바 스크립트 프로그램에서, PHP 스크립트를 AJAX를 사용하여 POST 할 필요가있다. HTML 문자열에 이미지 데이터가 삽입되었을 수 있습니다.HTML 문자열 및 인코딩

1 부 : ""Mmiz의 질문 "나는 아무것도 WRT 인코딩을 할 경우

<p>Mmiz&#39;s question</p> 

이, POST가 아포스트로피 후 모든 소지품 것 그리고 그것은 단지 - 간단한 경우 - 예를 들어 - HTML 문자열은 텍스트 만입니다 Mmiz "를 서버 쪽에서 찾습니다. escape()를 사용해도 문제가 해결되지 않았습니다! html 문자열을 안전하게 서버로 전송하려면 어떻게해야합니까?

제 2 부 :

encodeURIComponent(str).replace(/'/g,"%27").replace(/"/g,"%22"); 

이 그것에 대해 갈 수있는 올바른 방법인가 : html로 이미지 데이터가있는 경우, 내가 사용 64 URL 안전 인코딩에게 이미지 데이터를 기반으로?

안내해 주셔서 감사합니다.

Mmiz

+0

파트 1과 마찬가지로, encodeURIComponent도 사용해야합니다. 그러면 서버 스크립트가 '&'다음에 분리 된 필드로 데이터를 가져 가지 않습니다. – davidkonrad

+0

그래서 제안에 따라 - jquery 코드에서 다음 encodeURIComponent (escape (html_str))를 수행했습니다. 그런 다음 PHP 서버 측에서 다음과 같이 해독합니다. urldecode (encod_str). 변경 없음. 여전히 서버 측에 MMiz '으로 나옵니다. 아 - ContentType이 application/x-www-form-urlencoded로 지정되었습니다. charset = UTF-8. – user1072910

답변

0

내 생각 엔 당신이 데이터 또는 폼 데이터를 GET으로하거나 데이터를 전송하는 것입니다. 두 경우 모두 &은 매개 변수의 끝과 다음 매개 변수의 시작을 표시합니다. 반드시 이것을 인코딩해야합니다. 또한 encodeURIComponent을 사용하는 등 다른 문자도 인코딩하는 것이 좋습니다.

그렇다면 다른 방법을 고려해 볼 수 있습니다. 예를 들어, 난 그냥 바로 합병증으로 서버 내 데이터를 제출하려면, 그래서 요청과 같습니다, 난 그냥에 file_get_contents("php://input")을 사용할 수 있습니다,이 경우 PHP에서, 서버 측에서 그런

POST /somefile.php HTTP/1.0 
Host: example.com 
Content-Type: text/plain  -- or some relevant type, like application/json 
Content-Length: 13 

Hello, World! 

데이터를 가져오고 아무런 문제가 없습니다.