2016-09-25 4 views
0

Eclipse PDT에서 일부 AJAX PHP로 전송 된 HTTP POST 데이터를 디버그하려고하는데 이는 매우 새로운 실수입니다. 내가 이렇게 내 요청을 정의 PostManEclipse PDT에서 Chrome PostMan 플러그인의 POST 데이터가 비어 있습니다.

: (어떤 작품) 내 AngulrJs 코드를 모방하려고

enter image description here

나는 훌륭한 크롬 브라우저 플러그인 것으로 보인다 것을 발견
var postData = { userName: $scope.registrationData.userName, 
        email: $scope.registrationData.email, 
        password: forge_sha256($scope.registrationData.password) 
        }; 

    var url = HOST + 'api/register.php'; 

    $http.post(url, postData) 

브라우저 페이지에서 AngularJs를 사용하면 작동하고 PHP는 expec을 반환합니다. 그걸로.

하지만, 나는 우체부를 사용하여 다음 내 PHP 코드

$postData = file_get_contents("php://input"); 
    $request = json_decode($postData, true); 

에 나는 $_POST이 비어있는 것을 찾을 수 있습니다.

내가 잘못하고있는 것은 무엇입니까 (또는 Eclipse PDT로 HTTP 포스트를 디버그하는 간단한 방법이 있습니까?).


[업데이트] POST 데이터가 헤더가 아닌 본문에 있어야한다는 점에 대해 감사합니다. @Rubletlet.

나는 폼 데이터

enter image description here

수신 된 POST 데이터가 여전히 비어로 인코딩합니다. "원시"를 사용해야한다고 생각하지만 어떻게 인코딩합니까? JSON으로?

답변

1

Postman의 Header 섹션에 데이터를 삽입하고 있습니다. 이들은 HTTP Headers을위한 것이지 당신이 원하는 것이 아닙니다. angle의 post 메소드를 사용하면 실제로 매개 변수가 POST 요청의 Body 섹션에 임베드됩니다.

우편 배달 부의 Body 섹션에 매개 변수를 입력하면 올바르게 작동합니다.

+0

대단히 감사합니다. 나는 당신이 옳다고 확신합니다. 나는 14 시간 동안 코딩을하고 있었고 머리는 돌아갔다. 질문에 대한 업데이트를 참조하십시오. 택시 도움이 무엇인지 알려주십시오. – Mawg

+1

@Mawg x-www-form-urlencoded 시도 확인하려는 것은 클라이언트가 예상대로 작동하는지 확인하는 것입니다. 브라우저에서 각 클라이언트를 실행중인 경우 Chrome 개발자가 올바른 요청을 보내고 있는지 확인하기 위해 Chrome 개발자 도구와 같은 것을 사용할 수 있습니다. 네트워크 탭에서 확인하십시오. – Monokh

+0

예 !!!! 너, 선생님, 천재세요. (그리고 저는 지금 자러 갈 것입니다 :-) 다시 한번 감사드립니다. – Mawg

관련 문제