В настоящее время я сохраняю свои данные в файлах cookie и передаю их через вызов ajax для извлечения данных с сервера.
Итак, в настоящее время мой webapp специфичен для одиночной клиентской машины, а URL-адрес не является доступным. Поэтому я хочу передать параметры запроса, чтобы динамически генерировать URL-адрес для извлечения и обновления данных с моего узла-сервера.
Как я могу сгенерировать такие ссылки, как приведенные ниже, и передать их как часть службы $ http в угловой для получения данных из узла express.
Текущий код:
AngularJS $ http.post('/getPropertyData', data).success (функция (данные, статус) {$ scope.parseData(data);}); .state('listProperties', {url: '/listProperties', templateUrl: 'list.html', controller: 'listControl'})
Узел узла:
router.post('/',function(req,res) {
var finalResp = [];
var asyncIterator = 0;
MongoClient.connect(url, function(err, db) {
...........
function sendResponse(asyncIterator,length,finalResp,db) {
if(asyncIterator==length) {
res.send(finalResp);
db.close();
}
}
}
Когда вы передаете данные, так как второй аргумент в $http.post
угловой будет помещать эти JS-данные в полезную нагрузку/тело для запроса, а не кодировать его в URL-адресе. Таким образом, ваши параметры - либо прочитать параметры из тела на стороне узла, либо изменить почтовый запрос $ http для использования параметров запроса URL вместо тела/полезной нагрузки запроса данных.
AngularJS - Любой способ для $ http.post отправлять параметры запроса вместо JSON?
Что-то вроде этого должно работать: $http.post('/getPropertyData',$httpParamSerializer(data))
angular.module('myApp', []).run(function($http, $httpParamSerializer){
var data = {some:'stuff', in:'here'}
console.log($httpParamSerializer(data))
//$http.post('/getPropertyData',$httpParamSerializer(data)) actually use this line
})
<script src="/angular.min.js"></script>
<div ng-app="myApp">
</div>