如何使用AngularJS向JAVA API发送多个参数

时间:2016-03-28 11:10:32

标签: javascript java angularjs ajax http

我有Java API函数如下:

     public Response abc(@FormParam("tenderIdsJsonArray") JSONArray tenderIdsJsonArray, @FormParam("tenderRejectTime") String tenderRejectTime,@FormParam("rejectResonType")  String rejectResonType) {

     }

我从AngularJs发送数据

     $http({
      method: 'POST',
      url: URL,
      data: {bacJsonArray:[1543],RejectTime:"12",rejectResonType:"test"}    
    }).success(function (response) {
      loaderServ.hide();
      resolve(response);
    }).error(function (error) {
      loaderServ.hide();
      reject(error);
    });

我在API端获取函数的所有参数为null

我需要做出改变

我也试过发送:

JSON.stringify({bacJsonArray:[1543],RejectTime:"12",rejectResonType:"test"} 
    })

或params:{alldata}

我也尝试在服务器端进行更改:

     public Response abc(JSONArray bacJsonArray,String RejectTime,String rejectResonType) {

     }

但在所有情况下,我都在服务器端收到Null

2 个答案:

答案 0 :(得分:1)

我使用的方式以及它的工作方式。

    $http({
        method: 'POST',
        url: url,
        headers: {'Content-Type': 'application/x-www-form-urlencoded'},
        transformRequest: function(obj) {
            var str = [];
            for(var p in obj)
            str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
            return str.join("&");
        },
        data: {username: $scope.userName, password: $scope.password}
    }).success(function () {});

答案 1 :(得分:0)

char*