javascript - Angularjs响应$http返回问题

标签 javascript angularjs

我做了一个管理数据发送到服务器端的功能。我想返回 $http 的回复当它成功时。

我的 Controller :(当我调用该函数时)

var myResponse = sendData(inputValueArray, url, onSuc, onErr, $http);
// Nothing happen here:
alert(myResponse);

我的发送数据函数:

function sendData(inputArray, url, onSuccess, onErr, $http) {
var serverResponse = "";
$http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
$http({
        method: 'POST',
        url: url,
        data: {
          myData: inputArray
        },
        headers: {'Content-Type': 'application/x-www-form-urlencoded'}
    })
.success(function(response) {
    if (response.res == true) {
        onSuccess();
        serverResponse = response;
    }
    else {
        onErr();
    }
})
.error(function(data, status, headers, config) {
    onErr();
});
return serverResponse;

}

最佳答案

您正在返回 serverResponse,然后它才从回调中获取任何数据。相反,尝试这样的事情:

function sendData(inputArray, url, onSuccess, onErr, $http) {
  var serverResponse = "";
  $http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';

  return $http({
        method: 'POST',
        url: url,
        data: {
          myData: inputArray
        },
        headers: {'Content-Type': 'application/x-www-form-urlencoded'}
    });
}

然后你像这样使用它

sendData
.success(function(response) {
    if (response.res == true) {
        onSuccess();
        serverResponse = response;
        alert(serverResponse);   // ************
    }
    else {
        onErr();
    }
})
.error(function(data, status, headers, config) {
    onErr();
});

关于javascript - Angularjs响应$http返回问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33941322/

相关文章:

javascript - jQuery 修改隐藏字段值回发到服务器时为空

javascript - 在 JavaScript 和 Angular 中动态地将变量插入到对象路径中

angularjs - Angular Karma 单元测试 : How to inject a mock service in karma configuration instead of in all test specs

javascript - HTML 元素大小(以字节为单位)

javascript - jquery hasClass,可不可以给类名开头,获取全类名

javascript - 我可以通过 Javascript 在页面上注册外部 JS 文件吗?

javascript - react promise 返回未定义

css - 高级 CSS : target last adjacent sibling

twitter-bootstrap - Uncaught Error : No module: ui. Bootstrap

javascript - 如何将 ng-repeat 用于纯文本 AngularJS