在下面的代码示例中,我发送了一个"请求",并试图获得一个响应,但返回了"未定义"的值。这是我迄今为止的代码
$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控制器的代码:
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");
});