当前位置 : 主页 > 网络编程 > JavaScript >

Angularjs中使用$http发送请求的注意点

来源:互联网 收集:自由互联 发布时间:2021-06-30
gistfile1.txt $http使用get发送请求时携带的参数使用params配置,而$http使用post发送请求时携带的参数可以使用params和data配置。但是如果使用data配置请求参数的时候需要额外配置一些属性,
gistfile1.txt
$http使用get发送请求时携带的参数使用params配置,
而$http使用post发送请求时携带的参数可以使用params和data配置。
但是如果使用data配置请求参数的时候需要额外配置一些属性,否则后台接收不到前台的请求参数。

angular.module('form.service', [])

.service('formService', ['$http', function($http) {
	var request = {
		doGetRequest : (user)=>{
			return $http({
				url:'register.do',
				method : 'get',
				params : user,// get请求的时候用params
			});
		},
		doPostRequest : (user)=>{
			return $http({
				url:'register.do',
				method : 'post',
				data : user,// post请求的时候可以用data或者params,不过如果使用data的时候需要多些设置,否则后台接收不到
				
				// 以下配置是为了post使用data传递参数时所用
				headers: { 'Content-Type' : 'application/x-www-form-urlencoded' },
				transformRequest : function(data){
					var str = [];
					for(var key in data){
						str.push(encodeURIComponent(key) + "=" + encodeURIComponent(data[key]));
					}
					return str.join("&");
				}
			});
		}
	};

	return {
		register : function(user) {
			// return request.doGetRequest(user);
			 return request.doPostRequest(user);
		}
	}
}]);
gistfile2.txt
也可以使用在使用data传递参数的时候使用jQuery,将json格式的data转成字符串形式
网友评论