我试图在c#控制器中调用一个函数并传递一个值,但是我收到以下错误:`'无法获取属性'然后'未定义或空引用'。 我也添加了驱动程序模型。 提前感谢您的帮助。
JS
function getDrivers(lastName)
{
console.log(lastName);
return $http.post(baseUrl + 'Admin/getDrivers', { lastName: lastName })
.success(function (data, status, headers, config) {
console.log(1);
}).error(function (data, status, header, config) {
console.log(2);
});
}
C#Controller
[HttpPost]
public JsonResult getDrivers(DriverModel model)
{
JsonResult jsonResult = new JsonResult();
try
{
jsonResult.Data = model.GetDrivers(model.lastName);
return jsonResult;
}
catch (Exception ex)
{
return jsonResult;
}
}
HTML
vm.getMatches = function (searchText) {
if (searchText.length > 1)
{
getDrivers(searchText);
}
答案 0 :(得分:1)
您的$ http承诺回调未返回值。这意味着它将返回undefined
,而不是您可能希望它返回的承诺。
此外,我们已弃用success
和error
,转而使用then
和catch
。你可能想要考虑的事情。
答案 1 :(得分:1)
您可能无法访问控制器,因为正在发布getDrivers函数,希望找到带有名为“lastname”的参数的函数getDrivers,但在您的控制器中,参数名为“model”,它也可能是一个字符串