Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   post запрос не работает (https://javascript.ru/forum/angular/56311-post-zapros-ne-rabotaet.html)

Boogie1989 09.06.2015 16:15

post запрос не работает
 
Есть пост метод который должен отправить массив data на сервер но он этого не делает, почему?
$scope.postTest = function () {
            //x = document.cookie.substring(5).split(",");
            var data = x;
            console.log(data);
            $http({
                url: 'api/ItemsTables',
                method: "POST",
                data: data,
                headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
              
            }).success(function (data) {
                alert(data);
            });

ksa 09.06.2015 16:23

Цитата:

Сообщение от Boogie1989
Есть пост метод который должен отправить массив data на сервер но он этого не делает, почему?

Сталкивался с этим... :( Просто в УРЛ все засунул и отправил.

Boogie1989 09.06.2015 16:29

а по подробнее можно?)

ksa 09.06.2015 16:37

Цитата:

Сообщение от Boogie1989
а по подробнее можно?

Дык подробнее некуда...

/* Перечитать панели */
			function loadPnl(Command){
					var url='json/panels.csp';
					url+='?begin='+$scope.menu.set.begin;
					url+='&arm='+$scope.menu.set.arm;
					url+='&base='+$scope.menu.set.base;
					if (Command) {
						url+='&command='+Command;
					};
					$http.post(url).success(function(data) {
						for (key in data) {
							$scope[key] = data[key];
						};
					});
			};

Boogie1989 09.06.2015 16:40

спасибо, попробую)

ksa 09.06.2015 16:40

Пробовал сначала так отправлять...

/* Перечитать панели */
function loadPnl(Command){
	var url='json/panels.csp';
	var data={
		url: $scope.menu.set.begin,
		arm: $scope.menu.set.arm,
		base: $scope.menu.set.base
	};
	if (Command) {
		data['command']=Command;
	};
	$http.post(url,data).success(function(data) {
		for (key in data) {
			$scope[key] = data[key];
		};
	});
};

Но реквест пустой! :( Данных нет...

ksa 09.06.2015 16:45

Использую AngularJS v1.3.9...

andz2 22.06.2015 08:14

по поводу передачи параметров пост (взято со стэковерфлоу)
$scope.listPhone = function() {
	var xsrf = {str: $scope.TelSpr.str};	
	$http({
    method: 'POST',
    url: 'http://ваш url',
    headers: {'Content-Type': 'application/x-www-form-urlencoded'},
    transformRequest: function(obj) {
        var str = [];
        for(var p in obj)
        str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
        return str.join("&");
    },
    data: xsrf
	}).success(function (response) 
	{
	//	console.log(response)
		$scope.spr = response;
		$ionicLoading.hide();
	})
	.error(function(data, status, headers, config){
      console.log("**** ERROR ****");
      console.log(status);
      $ionicLoading.hide();
    })
	showLoading('Загрузка');	
  }

kosuha606 07.03.2016 17:30

Да вся фишка именно в conntent-type, у меня было тоже самое, поставил нужный content-type и все отправилось, а нет отправилось то отправилось, но получил массив
array(1) {
   [1]=>{test:"test"}
}

- примерно вот такой, в первом элементе просто json объект, который я и передаю, действительно без transformRequest, получить нормальный массив у меня не получилось, я использовал совместно с yii2, и не мог понять почему не проходит валидация в модели.


Часовой пояс GMT +3, время: 15:03.