javascript - Angular : Convert curl to Angular $http POST request

标签 javascript ajax angularjs curl

我有这条 curl 线:

curl -X POST -H "content-type: application/json" -H "AUTH_TOKEN: vLC4grMuKbtbamJL3L6x" localhost:8080/v1/segments?appkey=c2439fb30a1cad03e9e02bd733ef2ad5 -d '{"segment" : {"segment_name" : "ャロットケーキが好き", "segment_type":"static"}}'

现在 curl 直接命中了 API。我希望能够在保存并重定向回路由 'return region.$save((function() {':

'use strict';
angular.module('otherLevelsApp').controller('GeoRegionCreateCtrl', [
'$scope', '$location', 'GeoRegion', 'Hours', '$http', function($scope, $location, GeoRegion, Hours, $http) {
console.log('new region controller');
$scope.app_id = (/apps\/(\d+)/.exec($location.absUrl())[1]);
$scope.newGeoRegion = true;
$scope.geoRegionId = '';
$scope.hours = Hours;
console.log('$scope.hours', $scope.hours);
$scope.geoRegion = {
  app_id: $scope.app_id,
  geoRegion_id: '',
  latitude: 37.7879938,
  longitude: -122.40743739,
  name: '',
  address: '',
  radius: 500,
  customer_id: $scope.customer_id
};
_.delay((function() {
  return $scope.setupGoogleMap();
}), 500);
window.test_scope = $scope;
return $scope.updateOrAddGeoRegion = function() {
  var region;
  $scope.loading = true;
  console.log('creating new region with ', $scope);
  region = new GeoRegion($scope.geoRegion);
  console.log('region', region);
  return region.$save((function() {
    return $location.path("/");
  }), function(response) {
    if (response.data.errors) {
      $scope.errors = response.data.errors;
    } else {
      $scope.errors = {
        "Error": ["There was a problem connecting with the server. Please try again later."]
      };
    }
    return $scope.loading = false;
  });
};

} ]);

你知道如何在 $http POST 中正确格式化它吗?特别是,我是否需要将成功和错误重构到 $http 代码中? IE。成功重定向返回 $location.path("/") 或...?

我想大概是这样的,但不确定如何结束:

$http({
method: 'POST',
url: '',
data: '',
headers: {'Content-Type': 'application/JSON'}

});

尽管我在这里阅读 Angular 文档:https://docs.angularjs.org/api/ng/service/ $http#post 我仍然对如何用 $http post 直接点击这个 curl 感到困惑?

感谢任何帮助!

最佳答案

你正在寻求任何帮助,所以这里有一些。不确定我是否理解你想要在成功的情况下做什么,但为了完成,你可以从

$http({
        url: 'localhost:8080/v1/segments?appkey=c2439fb30a1cad03e9e02bd733ef2ad5',
        method: 'POST',
        data: {'segment' : {'segment_name' : 'ャロットケーキが好き', "segment_type":"static"}},
        headers: {'Content-Type': 'application/json', 'Auth_Token': 'vLC4grMuKbtbamJL3L6x'}
}).success(function (data, status, headers, config) {
            //handle success
            $location.path('/'); //maybe you want to do this  
}).error(function (data, status, headers, config) {
            //handle error
});

关于javascript - Angular : Convert curl to Angular $http POST request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24924573/

相关文章:

javascript - 我正在为我的 react.js 项目使用 react-router-dom,它在路由 URL 中添加了/#/。我可以摆脱它吗?如果是,如何?

jquery - 有没有办法从服务器获取可编辑数据表中的 aocolumns?

php - 如何通过 PHP AJAX 调用安全地更改玩家数据?

php - 通过ajax传递动态值

javascript - 在 AngularJS 字符串中使用 HTML 实体

AngularJS 模板不能使用包含连字符的 JSON

javascript - 如何处理带有条件分支的 TypeScript Promise?

javascript - 使用 Firebase 3 上传 Base64 图片

javascript - 我怎样才能 "treefy"我的 table ?

javascript - Angularjs - 无法将值从表单调用到图形