gpt4 book ai didi

javascript - Angularjs响应$http返回问题

转载 作者:行者123 更新时间:2023-12-03 08:15:47 25 4
gpt4 key购买 nike

我做了一个管理数据发送到服务器端的功能。我想返回 $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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com