ejemplos javascript angularjs javascript-framework

javascript - ejemplos - angularjs vs angular



AngularJS pasando datos a la solicitud $ http.get (7)

Tengo una función que hace una solicitud HTTP POST. El código se especifica a continuación. Esto funciona bien.

$http({ url: user.update_path, method: "POST", data: {user_id: user.id, draft: true} });

Tengo otra función para http GET y deseo enviar datos a esa solicitud. Pero no tengo esa opción en conseguir.

$http({ url: user.details_path, method: "GET", data: {user_id: user.id} });

La sintaxis de http.get es

obtener (url, config)

¿Puede alguien ayudarme con esto?


A partir de AngularJS v1.4.8 , puede usar get(url, config) siguiente manera:

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) { });


Este es un ejemplo completo de una solicitud HTTP GET con parámetros usando angular.js en ASP.NET MVC:

CONTROLADOR:

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); } }

VER:

<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>


Incluso puedes simplemente agregar los parámetros al final de la url:

$http.get(''path/to/script.php?param=hello'').success(function(data) { alert(data); });

Emparejado con script.php:

<? var_dump($_GET); ?>

Resultando en la siguiente alerta de javascript:

array(1) { ["param"]=> string(4) "hello" }


Para enviar la solicitud de obtención con el parámetro i use

$http.get(''urlPartOne//'+parameter+''//urlPartTwo'')

Por esto puedes usar tu propia cadena de url


Puede pasar params directamente a $http.get() Lo siguiente funciona bien

$http.get(user.details_path, { params: { user_id: user.id } });


Solución para aquellos que estén interesados ​​en enviar parámetros y encabezados en la solicitud 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 });

Ejemplo de servicio completo se verá así

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; } });