>웹 프론트엔드 >JS 튜토리얼 >AngularJS에서 PHP로 POST: 내 변수가 정의되지 않은 이유는 무엇입니까?

AngularJS에서 PHP로 POST: 내 변수가 정의되지 않은 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-23 20:07:18797검색

AngularJS to PHP POST: Why are my variables undefined?

PHP에 AngularJS HTTP 게시: 정의되지 않은 변수 문제

문제 설명:

AngularJS에서 HTTP POST 요청을 수행할 때 PHP 스크립트에 PHP 스크립트는 게시된 양식에 대해 정의되지 않은 값을 수신합니다. data.

원인:

AngularJS는 application/json에 대한 HTTP Post 요청의 Content-Type 헤더를 기본값으로 설정합니다. 그러나 질문의 ​​샘플 코드는 Content-Type 헤더를 application/x-www-form-urlencoded로 설정합니다. 결과적으로 AngularJS에서 보낸 데이터는 PHP의 $_POST 기능에 대해 예상되는 형식이 아닙니다.

해결책 1:

기본 AngularJS Content-Type 헤더를 사용하세요. application/json을 복사하고 PHP에서 원시 입력을 읽은 다음 역직렬화합니다. JSON.

$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$email = $request->email;
$pass = $request->password;

해결책 2:

$_POST 기능을 사용하는 경우 데이터에서 쿼리 문자열을 구성하여 요청 본문으로 전송합니다. 쿼리 문자열은 URL로 인코딩됩니다.

data = "email=" + encodeURIComponent($scope.email) + "&password=" + encodeURIComponent($scope.password);

위 내용은 AngularJS에서 PHP로 POST: 내 변수가 정의되지 않은 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.