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

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

Linda Hamilton
풀어 주다: 2024-11-23 20:07:18
원래의
752명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿