在下面的代码示例中,我发送了一个“请求”,我试图获得响应,但返回“未定义”值。 这是我到目前为止的代码
$scope.SameNameFunction = function() {
var payload = { itemname: $scope.EventDetails.Name};
portalRepository.namecall(payload).then(function (payload) {
console.log(payload.valuesreturned);
alert("Detected: " + payload.valuesreturned + " events having the same name");
});
};
来自http.post的代码
namecall: function (payload) {
return $http.post("/Api/PortalData/NameNumberResult", payload);
},
来自 .cs Controller 的代码:
public ActionResult NameNumberResult(ItemEventNameDTO payload)
{
var valuetosend = payload.itemname;
var acf = new AcFunctions();
var newstorevalue = SqlHelper.ExecuteDataset(acf.AcConn(), "sp_selectbyname", valuetosend);
payload.valuesreturned = newstorevalue.Tables[0].Rows.Count;
return payload.GetSuccess();
}
设置断点,我从 .cs 和 .js 文件中的存储过程中获取适当的值。但是,当尝试在屏幕上打印消息时,值不会出现,而是显示“检测到具有相同名称的未定义事件”。 欢迎任何帮助!
最佳答案
按照您的代码,您将返回 promise
namecall: function (payload) {
return $http.post(url, payload);
}
需要使用$http.post()
的回调方法
portalRepository.namecall(payload).then(function(data){
alert("Detected: " + payload.valuesreturned + " events having the same name");
});
关于javascript - Angular promise 返回 "undefined"值 .NET MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37208901/