在下面的代码示例中,我发送了一个“请求”,我试图得到一个响应,但返回“未定义”值。 到目前为止,这是我的代码
$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文件中获取存储过程的相应值。但是在尝试在屏幕上打印消息时,不显示值,而是显示“检测到具有相同名称的未定义事件”。 欢迎任何帮助!
答案 0 :(得分:2)
根据您的代码,您将返回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");
});