2017-01-16 1 views
0

현재 아래 코드를 사용하고 있는데 문제가 없습니다.angular : 양식 제출시 추가 데이터 전달

$scope.processForm = function($scope.formData) { 
     $http({ 
      method : 'POST', 
      url  : 'process.php', 
      data : $.param($scope.formData), // pass in data as strings 
      headers : { 'Content-Type': 'application/x-www-form-urlencoded' } // set the headers so angular passing info as form data (not request payload) 
     }) 

이제는 하나의 작은 요구 사항이 있습니다. 양식 데이터와 함께 사용자 ID (uid)를 전달해야합니다. Jquery에서는 매우 간단하지만 각도가 너무 새롭고 많은 경험이 없습니다.

각도 데이터를 추가로 전달할 수있는 방법에 대해 알려주십시오.

감사

당신이 $ HTTP 데이터 매개 변수에 객체 (PHP의 연관 배열)를 보낼 수 있습니다
+1

당신을 togheter 당신의 UID 매개 변수로 formData을 캡슐화 할 수 있습니다 잘 작동하는지 확인하기 : 먼저 (2 'UID') 일부 정적 값을 테스트하는 경우가 좋을 것

$postContent= file_get_contents("php://input"); $req= json_decode($postContent); $formData= $req->formData; $uid= $req->uid; 

주 object expl :'var allData = { 'formData': $ scope.formData, 'uid': $ scope.uid}'그런 다음 allData Object를 post 메서드에 전달합니다 'data : allData' –

+0

formdata가 비어 있습니다. 나는 이유를 모른다. – Ironic

+0

이것을 시도해보십시오 : 'header : { 'Content-Type': 'application/x-www-form-urlencoded'}' 2-in process.php : '$ postContent = file_get_contents ("php : //입력"); $ req = json_decode ($ postContent); $ formData = $ req-> formData; $ uid = $ req-> uid; ' –

답변

0

당신의 데이터를 얻는 방법에 대한 자세한 내용은 https://scotch.io/tutorials/submitting-ajax-forms-the-angularjs-way 참조 UID 매개 변수를 사용하여 formData를 캡슐화하여 개체에 삽입 할 수 있습니다. expl :

var allData={'formData': $scope.formData, 'uid': $scope.uid}

그리고 나서 allData Object를 게시물 메소드 데이터로 전달하십시오 : allData.

process.php에서 데이터를 가져 오는 데 문제가 발생하면 (예 : 정의되지 않은 데이터) Application/json 콘텐츠 유형 (angularjs의 기본 동작)으로 각도 데이터를 전달하고 process.php에서 다음과 같이 수행해야합니다. 그것이에

+0

위를 시도했지만 formData가 비어 있습니다.를 참조하십시오. $ formData = $ req-> formData; 나는 UID를 볼 수 있지만 formData는 비어 있습니다. – Ironic

+0

내 모습보기 (각) –

0

:

$scope.processForm = function($scope.formData) { 
    console.log($scope.formData); 
    $http({ 
     method : 'POST', 
     url  : 'process.php', 
     data : {'data': $scope.formData,'userid':userid}, // no need to use $.param, even never see it in angular 
     headers : { 'Content-Type': 'application/x-www-form-urlencoded' } // set the headers so angular passing info as form data (not request payload) 
    }) 

는 PHP 측

+0

양식 데이터가 비어 있습니다. – Ironic

+0

어떻게 내가 PHP에서 데이터에 액세스 할 수 있습니다. 게시물이 작동하지 않습니다. – Ironic

+0

자바 스크립트 클라이언트 쪽에서 $ http, 그것을 처리 해야하는 귀하의 PHP 페이지에 데이터를 보냅니다. 어떻게 $ scope.processForm()을 사용 했습니까? https://scotch.io/tutorials/submitting-ajax-forms-the-angularjsway – AlainIb