Я пытаюсь отправить свои данные из угловой формы на серверный контроллер, где Я использую эти данные для изменения моего json-файла, кажется, что они используют ngResource для передачи данных на бэкэнд и FrontEnd, но я не смог понять, как это работает. Ниже перечислены части моего кода, которые, как я оценил, могут помочь объяснить мою проблему.Как отправить данные с контроллера angularjs на контроллер сервера (nodejs) в meanjs
machine.client.view.html
<section data-ng-controller=’MachineController’>
<form class=’form-horizontal’ data-ng-submit=’create()’ novalidate>
<fieldset>
<div class="form-group">
<label class="control-label" for="projectName">Name of the project</label>
<div class="controls">
<input type="text" class="form-control" id="projectName" data-ng-model="projectName" placeholder="my_first_project">
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary"></input>
</div>
</fieldset>
</form>
</section>
machine.client.routes.js
(function() {
'use strict';
//Setting up route
angular
.module('machine')
.config(routeConfig);
routeConfig.$inject = ['$stateProvider'];
function routeConfig($stateProvider) {
// Machine state routing
$stateProvider
.state('machine', {
url: '/machine',
templateUrl: 'modules/machine/client/views/machine.client.view.html',
controller: 'MachineController',
controllerAs: 'vm'
});
}
})();
machine.client.controller.js
(function() {
'use strict';
angular
.module('machine')
.controller('MachineController', MachineController);
MachineController.$inject = ['$scope'];
function MachineController($scope) {
var vm = this;
// Machine controller logic
$scope.create = function() {
console.log("Testing the functionalites");
console.log(this.projectName);
};
init();
function init() {}
}
})();
machine.server.controller.js
'use strict';
/**
* Module dependencies.
*/
require('require-xml');
var path = require('path'),
mongoose = require('mongoose'),
initialJsonFile = require('../resources/config.json'),
finalJsonFile = './modules/machine/server/config/config1.json',
updatedJson = require('../config/config1.json'),
js2xmlparser = require('js2xmlparser'),
jsonfile = require('jsonfile'),
errorHandler = require(path.resolve('./modules/core/server/controllers/errors.server.controller')),
_ = require('lodash');
/**
* Converting xml to json
*/
exports.updatingJsonConfig = function(req, res) {
//I do need here to get data from angular form the string 'testing description' it was only used to test the modifications
initialJsonFile.project.projectName = 'testing description';
};
machine.server.routes.js
'use strict';
var machine = require('../controllers/machine.server.controller');
module.exports = function(app) {
app.route('/testing').get(machine.updatingJsonConfig);
};
NB: Я использовал один вход в виде только объяснить проблему, но это форма нескольких полей
моя проблема заключается в том, чтобы отправить данные функции updatingJsonConfig от углового регулятора (В моем сценарии это походит на это пользовательский ввод Projectname в форме, когда пользователь отправляет форму, я получаю значение параметра projectName на MachineController (угловой стороне), то, что я хочу сделать, это отправить это значение (имя_проекта) контроллеру сервера (с обновлениемJsonConfig), как при попытке попробовать для проверки req.body.projectName У него не было никакой ценности, поэтому мой вопрос. NB: мой сервер настроен и я успешно протестировал серверный контроллер updateJsonConfig с запросом браузера. – user3557777
Извините, я упустил из виду тот факт, что у вас есть данные для отправки с запросом. Вы должны использовать POST. Обновленный ответ. – marton