Пользовательский URL с возможностью совместного доступа и закладки с угловым интерфейсом пользователя - параметры запроса маршрутизатора

0

В настоящее время я сохраняю свои данные в файлах cookie и передаю их через вызов ajax для извлечения данных с сервера.

Итак, в настоящее время мой webapp специфичен для одиночной клиентской машины, а URL-адрес не является доступным. Поэтому я хочу передать параметры запроса, чтобы динамически генерировать URL-адрес для извлечения и обновления данных с моего узла-сервера.

Как я могу сгенерировать такие ссылки, как приведенные ниже, и передать их как часть службы $ http в угловой для получения данных из узла express.

https://www.opendoor.com/homes/phoenix?min_bedrooms=2&min_price=25000000&max_price=40000000&pool=Any&active=1

Текущий код:

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();
    }
  }
}
Теги:
express
angular-ui-router

1 ответ

0
Лучший ответ

Когда вы передаете данные, так как второй аргумент в $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>
  • 0
    так как я могу получить данные из параметров в URL, чтобы отправить данные на сервер? Мне также нужен общий URL. Заранее спасибо.
  • 0
    Обычно для этого я настраиваю состояние в угловом режиме (обычно с помощью ui-router, но не ngRoute, но любой из них работает), которое будет принимать параметры, необходимые для восстановления состояния страницы, и включать любые данные, которые в конечном итоге будут использоваться. позвонить в бэкэнд Можно увидеть ссылку в ответе, как при необходимости преобразовать данные в параметры запроса.
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню