通过AngularJS发送带有多个数据的HTTP Post

用户名

我正在使用AngularJS。我想通过AngularJS在HTTP帖子中发送多个数据。后端运行Cakephp,我已经验证Rest API通过python HTTP-post起作用。

我有一个看起来像这样的控制器;

angular.module('myApp.controllers', []).
    controller('AlertDemoCtrl', ['$http', function($http) 
    {
        var post_url;
        var post_data;

        post_url="http://127.0.0.1/api_XXX/";

        post_data = {'data[Table1][field1]':'XX',
                     'data[Table2][0][field1]':'AA', 
                     'data[Table2][0][field2]':'BB', 
                     'data[Table2][0][field3]':'CC'
                    };

        $http.post(post_url, post_data);    
    }])

当我运行代码时,页面无法正确加载AngularJS。如果我不评论$http.post(post_url, post_data);,代码将正常运行。我哪里做错了?

非常感谢你。

莱德

这里有两件事:

首先,$http通过AngularJS中的Promises处理请求的响应如果您打算对服务器返回的响应进行处理,则应尝试在代码中添加Promise处理。摘自AngularJS官方文档(v1.3.0)

// Simple POST request example (passing data) :
$http.post(post_url, post_data).
  success(function(data, status, headers, config) {
    // this callback will be called asynchronously
    // when the response is available
  }).
  error(function(data, status, headers, config) {
    // called asynchronously if an error occurs
    // or server returns response with an error status.
  });

其次,您可以尝试将$http调用封装在一个函数中,然后在加载页面的整个AngularJS后在事件上调用该函数。

angular.module('myApp.controllers', []).
controller('AlertDemoCtrl', ['$http', function($http) 
{
    var post_url;
    var post_data;

    post_url="http://127.0.0.1/api_XXX/";

    post_data = {'data[Table1][field1]':'XX',
                 'data[Table2][0][field1]':'AA', 
                 'data[Table2][0][field2]':'BB', 
                 'data[Table2][0][field3]':'CC'
                };

    $scope.fetch = function() {
        $http.post(post_url, post_data).success(function() {
            // handle response here
        }).error(function() {
            // handle error here
        });    
    }
}])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在带有多个参数的angularjs中发送POST?

如何在 AngularJS 中发送带有多个参数的 POST

在python脚本中发送带有多个数据文件和字符串的post请求

LotusScript:通过POST方法HTTP发送数据

带有参数的angularjs $ http.post

通过HTTP POST将带有主题的消息发送到Azure服务总线队列?

通过带有cURL的HTTP Post将XML字符串发送到Web服务

通过Flask发送POST数据

通过POST请求发送数据

通过HttpOpenRequestA发送POST数据

如何发送带有多个数据参数的http请求

通过chrome扩展程序发送带有post方法的文本

带有 browsersync post 方法的 Angularjs 作为选项发送

如何使用带有ajax的POST方法使用多个数组将数据插入数据库:

Http Post发送带有空正文的请求

发送带有图像和文本的 HTTP POST REQUEST

在Arduino上使用POST通过HTTP发送数据

发送带有数据的POST请求时出错

使用Volley发送带有JSON数据的POST请求

如何发送带有表中数据的POST请求?

在带有SuiteScript 2.0的NetSuite中,无法通过内容类型为multipart / form-data的HTTP POST请求发送文件

如何使用python通过POST请求将带有元数据(标题,描述)的媒体发送到WordPress REST API

Flutter-通过HTTP Post发送Json

HTTP POST请求通过Volley发送JsonObject

通过HTTP POST发送参数和Json

使用c ++通过http POST发送文件

通过 Http Post curl 发送 json 文件

Swift 同步发送多个 HTTP POST 请求

如何使用具有相同键但多个值的http post将数据发送到php文件api?