我想从表单提交数据,并在http请求返回结果后直接在视图中显示结果。但它没有发生。
$scope.formData = {};
$scope.add = function (){
$http.post('add.php',$scope.formData,{'Content-Type': 'application/x-www-form-urlencoded'})
.then(function (result) {
console.log(result.data);
if (result){
$scope.data = result.data;
}
});
};
这是add.php
。在此文件中,我只想在json
中返回发布的数据。
function index(){
$data = $this->input->post();
echo json_encode($data);
}
我发现它返回false
值。我想知道如何使用post
这样的$http.post
方法处理提交的数据。
答案 0 :(得分:0)
您可以尝试这种方式将数据传递到 add.php 服务
$scope.add = function (){
$http({
method: 'POST',
url: 'add.php',
headers: {
'Content-Type': application/x-www-form-urlencoded
},
data:$scope.formData
}).then(function successCallback(response) {
$scope.data = response.data.data;
}, function errorCallback(response) {
console.log(response);
});
}
答案 1 :(得分:0)
在 PHP :
中尝试此操作$data = $this->input->post(NULL, TRUE);
在 AngularJS 中,在您的服务/工厂中注入 $ httpParamSerializerJQLike
$scope.add = function (){
$http({
method: 'POST',
url: '/add.php',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
data: $httpParamSerializerJQLike($scope.formData);
}).then(function resolve(response) {
console.log(response);
$scope.data = response.data.data;
}, function reject(response) {
console.log(response);
});
}