角柱法

时间:2014-08-20 20:15:36

标签: angularjs angular-http

我在服务中创建了一个http方法。但是,当我调用它时,它返回null,我无法弄清楚原因。 这是方法:

 objectResponse.httpCall = function ( sMethodName, postData){

    var rData = null;

    $http({
        dataType: "json",
        type: "POST",
        method: 'POST', 
        url: sMethodName, 
        data: (typeof postData !== "string") ? JSON.stringify(postData) : postData,
        headers: {'Content-Type': 'application/json'}
    })  
    .success(function(data, status, headers, config) {
        rData = data;
      })
    .error(function(data, status, headers, config) {
        rData = null;
      });

    return rData;
}

谢谢。

1 个答案:

答案 0 :(得分:2)

您无法通过AJAX呼叫return使用回调:

objectResponse.httpCall = function ( sMethodName, postData, callback){
   ..
   .success(data) {
       callback(data);
}

传递回调:

objectResponse.httpCall(method, data, function(data) {
    console.log(data); //response data
});