$ http.get 요청에 데이터를 전달하는 AngularJS
http POST 요청을 수행하는 기능이 있습니다. 코드는 아래에 지정되어 있습니다. 이것은 잘 작동합니다.
$http({
url: user.update_path,
method: "POST",
data: {user_id: user.id, draft: true}
});
http GET에 대한 다른 기능이 있으며 해당 요청에 데이터를 보내고 싶습니다. 하지만 그 옵션이 없습니다.
$http({
url: user.details_path,
method: "GET",
data: {user_id: user.id}
});
구문 http.get
은 다음과 같습니다.
get (URL, 구성)
HTTP GET 요청에는 서버에 게시 할 데이터가 포함될 수 없습니다. 그러나 요청에 쿼리 문자열을 추가 할 수 있습니다.
angular.http는라는 옵션을 제공합니다 params
.
$http({
url: user.details_path,
method: "GET",
params: {user_id: user.id}
});
참조 : http://docs.angularjs.org/api/ng.$http#get 및 https://docs.angularjs.org/api/ng/service/$http#usage ( params
매개 변수 표시)
다음은 매개 변수를 직접 전달할 수 있습니다.$http.get()
$http.get(user.details_path, {
params: { user_id: user.id }
});
AngularJS v1.4.8 부터 get(url, config)
다음과 같이 사용할 수 있습니다 .
var data = {
user_id:user.id
};
var config = {
params: data,
headers : {'Accept' : 'application/json'}
};
$http.get(user.details_path, config).then(function(response) {
// process response here..
}, function(response) {
});
GET 요청에서 매개 변수 및 헤더를 보내는 데 관심이있는 사용자를위한 솔루션
$http.get('https://www.your-website.com/api/users.json', {
params: {page: 1, limit: 100, sort: 'name', direction: 'desc'},
headers: {'Authorization': 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='}
}
)
.then(function(response) {
// Request completed successfully
}, function(x) {
// Request error
});
완전한 서비스 예는 다음과 같습니다.
var mainApp = angular.module("mainApp", []);
mainApp.service('UserService', function($http, $q){
this.getUsers = function(page = 1, limit = 100, sort = 'id', direction = 'desc') {
var dfrd = $q.defer();
$http.get('https://www.your-website.com/api/users.json',
{
params:{page: page, limit: limit, sort: sort, direction: direction},
headers: {Authorization: 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='}
}
)
.then(function(response) {
if ( response.data.success == true ) {
} else {
}
}, function(x) {
dfrd.reject(true);
});
return dfrd.promise;
}
});
URL 끝에 매개 변수를 간단히 추가 할 수도 있습니다.
$http.get('path/to/script.php?param=hello').success(function(data) {
alert(data);
});
script.php와 페어링 :
<? var_dump($_GET); ?>
다음 자바 스크립트 경고가 발생합니다.
array(1) {
["param"]=>
string(4) "hello"
}
다음은 ASP.NET MVC에서 angular.js를 사용하는 매개 변수가있는 HTTP GET 요청의 전체 예제입니다.
제어 장치:
public class AngularController : Controller
{
public JsonResult GetFullName(string name, string surname)
{
System.Diagnostics.Debugger.Break();
return Json(new { fullName = String.Format("{0} {1}",name,surname) }, JsonRequestBehavior.AllowGet);
}
}
전망:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script type="text/javascript">
var myApp = angular.module("app", []);
myApp.controller('controller', function ($scope, $http) {
$scope.GetFullName = function (employee) {
//The url is as follows - ControllerName/ActionName?name=nameValue&surname=surnameValue
$http.get("/Angular/GetFullName?name=" + $scope.name + "&surname=" + $scope.surname).
success(function (data, status, headers, config) {
alert('Your full name is - ' + data.fullName);
}).
error(function (data, status, headers, config) {
alert("An error occurred during the AJAX request");
});
}
});
</script>
<div ng-app="app" ng-controller="controller">
<input type="text" ng-model="name" />
<input type="text" ng-model="surname" />
<input type="button" ng-click="GetFullName()" value="Get Full Name" />
</div>
매개 변수를 사용하여 가져 오기 요청을 보내려면
$http.get('urlPartOne\\'+parameter+'\\urlPartTwo')
이를 통해 자신의 URL 문자열을 사용할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/13760070/angularjs-passing-data-to-http-get-request
'your programing' 카테고리의 다른 글
기존 하이브 테이블에 대한 create 문을 가져 오거나 생성하는 방법은 무엇입니까? (0) | 2020.10.04 |
---|---|
Facebook 스타일 "빨간색"알림을위한 가장 쉬운 CSS (0) | 2020.10.04 |
JavaScript를 사용하여 요소에서 CSS 클래스 제거 (jQuery 없음) (0) | 2020.10.03 |
JavaScript는 객체 속성 순서를 보장합니까? (0) | 2020.10.03 |
SQL Server에서 "with (nolock)"는 무엇입니까? (0) | 2020.10.03 |