2017-06-02 21 views
2

我在客戶端使角度codeigniter應用程序。所以我的帖子不工作的人請幫助。http post不工作​​codeigniter,角度的應用程序

$scope.posaljiKontroleru = function() { 
       $scope.prosek = {kalorije: 0.0, proteini: 0.0, uh: 0.0, masti: 0.0}; 
       $http({ 
        method: 'POST', 
        url: 'http://localhost/psi/Pravljenjejela/dodajBazi', 
        data: JSON.stringify($scope.prosek), 
        headers: {'Content-Type': 'application/json'} 

       }).success(function(data) { 

       }); 
      } 

CI CONTROLER

public function dodajBazi(){ 
     echo $this->input->post('kalorije'); 

    } 

回答

1

你可以解決它的辦法型動物。

首先,你可以指定在發送消息頭,窗體-urlencoded內容類型

'Content-Type': 'application/x-www-form-urlencoded' 

並使用URLSearchParams對象添加請求參數:

const params = new URLSearchParams(); 
for (let dataKey in data) { 
    if (data.hasOwnProperty(dataKey)) { 
    params.append(dataKey, data[dataKey]); 
    } 
} 

例如:

const params = new URLSearchParams(); 
params.append('kalorije', 0.0); 
params.append('proteini', 0.0); 
params.append('uh', 0.0); 
params.append('masti', 0.0); 

$http({ 
    method: 'POST', 
    url: 'http://localhost/psi/Pravljenjejela/dodajBazi', 
    data: params, 
    headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
}).success(function(data) { 

否則,如果你想發送參數爲application/json你必須把輸入到$_POST VAR在控制器:

$_POST = file_get_contents("php://input");

+0

我做的第一方法和我沒有任何呼應你 –

+0

可以嘗試送0.0爲字符串?我在回覆中更改它 – Gerard

1
$http({ 
    url: "http://example.appspot.com/rest/app", 
    method: "POST", 
    data: {"kalorije": 0.0, "proteini": 0.0, "uh": 0.0, "masti": 0.0} 
}).success(function(data, status, headers, config) { 
    $scope.data = data; 
}).error(function(data, status, headers, config) { 
    $scope.status = status; 
}) 
+0

發佈答案時,除了代碼之外,請嘗試提供解釋。 – apk