2012-08-24 2 views
2

내 GET 요청이 정상적으로 작동하고 XML로 응답합니다. https://mydomain.com/mypage.php?id=123&nm=ak_dhara 참고 : PHP 페이지는 https에 있습니다.POST가 작동하지 않는 곳에서 잘 작동합니다. XMLHttpRequest

하지만 POST가 작동하지 않습니다.

xhttp.open("POST"," https://mydomain.com/mypage.php",true); 
xhttp.setRequestHeader("Content-type","application/xhtml+xml"); 
xhttp.send("id=123&nm=ak_dhara"); 

제안 사항?

+0

POST에서 PHP 페이지 읽기 매개 변수가 전송됩니까? –

+0

logcat에서 더 많은 정보를 제공 할 수 있습니까? – ruX

+0

예 모두이 문제를 해결했습니다.
xhttp_bookaroom_request.open ("POST", "https://mydomain.com/mypage.php ", true);
\t \t \t \t xhttp_bookaroom_request.setRequestHeader ("Content-type", "application/x-www-form-urlencoded");
xhttp_bookaroom_request.setRequestHeader ("Content-length", fileAPI.length);
\t \t \t \t xhttp_bookaroom_request.send (fileAPI);
Anildhara

답변

1

xhttp.setRequestHeader("Content-type","application/xhtml+xml")이 잘못되었습니다. XHTML 콘텐츠를 요청하려는 경우 올바른 요청 헤더 이름은 Accept입니다. 전송할 콘텐츠의 유형을 식별하려면 application/x-www-form-urlencoded을 보내고 있습니다. 헤더를 존중하는 서버는 형식을 사용하여 인코딩 된 특별한 종류의 요청으로 보낸 데이터 (id=123&nm=ak_dhara)를 읽으려고 시도합니다. PHP 서버는이를 수행하는 방법을 알지 못합니다. 특정 브라우저에서는 유효한 내용 유형이 아니라는 것을 알고 있기 때문에 작동 할 수도 있고, 헤더를 무시하고 올바른 값을 보낼 수도 있습니다.

한편, application/x-www-form-urlencoded이 기본값이므로 명시 적으로 설정할 필요가 없습니다.

+0

고맙습니다 Sergiu – Anildhara

관련 문제