저는 AngularJS에 처음 왔다고 말하면서 머리말을 드리겠습니다. & CodeIgniter. 단일 페이지 앱을 만들려고합니다. 중앙에는 뉴스 기사가 표시됩니다. 측면에는 새로운 이야기를 제출하는 양식이 있습니다. 나는 이야기가 DB에서 잘 표시되는 시점에 이르렀습니다. 그러나 측면의 양식에서 새로운 스토리를 만들려고하면 DB에 0이 입력됩니다. 내가 모델에서 내 기능에 문제가 있다고 가정합니다. 그리고 그것은 MVC 사이를 올바르게 전달하도록 인코딩 된 정보를 가지지 않는 것처럼 기본입니다.CodeIgniter로 AngularJS 양식을 제출하십시오.
의 index.php
<div class="span2" ng-controller="NewStoryCtrl">
<h4>New Story</h4>
<form name="newStory">
<label for="title">Title: </label>
<input type="text" name ="title" ng-model="news.title" required>
<label for="text">Text: </label>
<textarea type="text" name="text" ng-model="news.text"required></textarea>
<button ng-click="createNews()">Submit</button>
</form>
controller.js
function NewStoryCtrl($scope, $http) {
$scope.news = {title:$scope.title, text:$scope.text};
$scope.createNews = function(){
$http.post('/ci/index.php/news/create/',$scope.news);
};}
news.php
(컨트롤러)public function create() {
$this->news_model->set_news();
}
news_model.php (모델)
public function set_news() {
$this->load->helper('url');
$slug = url_title($this->input->post('title'), 'dash', TRUE);
$data = array(
'title' => $this->input->post('title'),
'slug' => $slug,
'time' => time(),
'text' => $this->input->post('text')
);
return $this->db->insert('news', $data);
}
모델의 내용은 초기 CI 뉴스 자습서에서 남겨 둡니다. 그래서 내가 여기에 오류가 있다고 가정합니다. controllers.js에서 모델로 정보를 전달하는 가장 좋은 방법은 무엇입니까?
감사합니다. 그리고 저는 방화범을 사용하고 있습니다. JSON 파일이 전달되고 있습니다. 하지만 json을 수집하거나 디코딩하는 것에 익숙하지 않습니다. 컨트롤러에서 어떻게 호출해야합니까? 그냥 "뉴스"요? 나는 전에 물건을 인코딩했습니다. 이미 PHP 변수가 있기 때문에 이것이 나에게 더 이해가됩니다. – EnigmaRM
해결책을 찾았습니다 :'$ data = json_decode (file_get_contents ('php : // input'), TRUE);' – EnigmaRM