AngularJS |如何将 Json 的数据发送到 Codeigniter 中的数据库
Posted
技术标签:
【中文标题】AngularJS |如何将 Json 的数据发送到 Codeigniter 中的数据库【英文标题】:AngularJS | How to Send the Data of Json to database in Codeigniter 【发布时间】:2013-07-10 15:45:19 【问题描述】:我正在尝试使用 Angular。
我正在尝试发布已成功完成的 Angular 表单,它以 JSON 格式发布,但问题是它只发布具有值的输入字段,如果我有 NOT 填充文本框然后它将不发布该文本框值和字段名,因此如何在控制器中知道哪些输入字段已发布。
还有怎么发给模型的??
这是我到目前为止所做的。
查看。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/html">
<head>
<link href="<?php echo base_url(); ?>/styles/formcss.css" rel="stylesheet" type="text/css"/>
<script src="<?php echo base_url(); ?>/scripts/angular.min.js"></script>
</head>
<body ng-app>
<div ng-controller="controller">
<form>
<label for="name">UserID:</label> <input type="text" name="UserID" ng-model="user.UserID" value=""><br>
<label for="UserName">Name:</label> <input type="text" name="UserName" ng-model="user.UserName" value=""><br>
<label for="rollno">In Game Name:</label> <input type="text" name="GameName" ng-model="user.InGameName" value="" ><br>
<label for="father">CNIC Number:</label> <input type="number" name="Cnic" ng-model="user.Cnic" value="" ><br>
<label for="age">Age:</label> <input name="Age" ng-model="user.Age" type="number" value="" ><br>
<label for="email1">Email:</label> <input name="Email" ng-model="user.Email" type="email" value="" ><br>
<label for="email2">Res enter Email:</label> <input id="email2" type="email" name="email2" value="" ><br>
<label for="pass1">Password:</label> <input id="pass1" type="password" name="Pass" ng-model="user.Password" value=""><br>
<label for="pass2">Re enter Password:</label> <input id="pass2" type="password" name="pass2" value="" ><br>
<label style="margin-bottom:-10px; " for="male">Male</label><input class="gen" ng-model="user.Gender" id="male" type="radio" name="g" value="Male"><br>
<label style="margin-bottom:15px;" for="female">Female</label><input class="gen" ng-model="user.Gender" id="female" type="radio" name="g" value="Female"><br>
<label class="dis" for="about" >About:</label> <textarea rows="5" cols="40" id="about" type="text" value=""></textarea><br>
<button style="margin-left: 225px;" ng-click="save()" >Save</button>
</form>
</div>
<script>
function controller ($scope,$http)
var angularform="<?php echo base_url(); ?>index.php/datacon/angform"
$scope.save=function()
$http.post(angularform, $scope.user);
</script>
</body>
</html>
控制器:
public function angform()
$get=file_get_contents('php://input');
$json_get=json_decode($get);
foreach($json_get as $key=>$value)
// i think something it has to do here.
$this->load->model('datamodel');
$this->datamodel->insert($data);
这是截图,我填写了三个字段,所以它只发布了三个字段的值。
【问题讨论】:
【参考方案1】:public function angform()
$get=file_get_contents('php://input');
$json_get=json_decode($get);
foreach($json_get as $key=>$value)
$data[$key]=$value; //Worked For Me.
$this->load->model('datamodel');
$this->datamodel->insert($data);
【讨论】:
【参考方案2】:我这样检查:-
if($this->input->get_post('male'))
// rest code goes here
【讨论】:
【参考方案3】:更改您的 input
名称以完全匹配数据库 attribute(column)
名称。这样您就不必检查任何内容:
$data = $this->input->post(null); #get the post array
$this->db->insert('table', $ata);
【讨论】:
以上是关于AngularJS |如何将 Json 的数据发送到 Codeigniter 中的数据库的主要内容,如果未能解决你的问题,请参考以下文章
angularjs 在使用 POST 向服务器发送数据时导致 json 格式错误
使用 Angularjs 和 Nodejs 从 HTML 表单另存为 JSON 文件
Django 和 AngularJS - 向 Angular 发送查询 JSON 数据
将 json 对象从 jquery 发送到 angularjs 并使用 ng-repeat