gpt4 book ai didi

javascript - 从 ASP.NET 中的操作方法检索 Json 对象

转载 作者:行者123 更新时间:2023-12-03 04:51:27 26 4
gpt4 key购买 nike

我已经搜索并看到了很多解决方案,但仍然没有取得任何进展。我在控制台中没有收到任何错误,并且从 ajax 请求中没有得到任何返回。

这里是操作方法代码:

        [HttpGet]
public ActionResult GetEmployees()
{
AWEmployeeModel aw = new AWEmployeeModel();
aw.ID = 0;
aw.Name = "Selena";
aw.Position = "Cashier";
aw.Department = "Finance";

return Json(aw,JsonRequestBehavior.AllowGet);
}

这是我在 Controller 中的 ajax 调用:

 EmpApp.controller("AWEmpControl", function ($scope) {

loadEmployees();

function loadEmployees() {
$.ajax({
url: "/AWEmployee/Index/GetEmployees",
method: "GET",
success:function (response) {
$scope.employees = response["Name"];
}
});
}

});

我在所需的页面上也有 ng 指令:

<div class="container" ng-app="AWEmpApp" ng-controller="AWEmpControl">
{{employees}}
</div>

我通过分配 $scope.employees = "Hello..."; 来测试脚本是否正常工作。没有问题,所以我知道它与脚本加载无关......可能是什么问题?我已确保将请求描述为 GET 并返回 JSON 对象。我错过了什么吗?

提前致谢。

编辑

我检查了 Firefox 控制台并得到了解析错误:在该位置找不到 XML.......

我发现这很奇怪,因为服务器返回一个 JSON 对象,所以我用以下内容替换了 ajax 方法:

    function loadEmployees() {
$http.get('/AWEmployee/Index/GetEmployees')
.then(function(response) {
$scope.employees =response;
});

};

现在响应是调用它的页面的 html 数据(索引),而不是 JSON 对象!我假设通信之间发生了一些事情,如 this post 中所建议的那样。 .

最佳答案

由于您使用 JQuery 从服务器而不是 $http 服务获取数据,而且 success 函数是异步执行的,AngularJS 将不会反射(reflect)发生的任何更改,以强制它,只需将分配包装到 $apply 中:

function loadEmployees() {
$.ajax({
url: "/AWEmployee/Index/GetEmployees",
method: "GET",
success:function (response) {
$scope.$apply(function(){
$scope.employees = response["Name"];
});
}
});
}

关于javascript - 从 ASP.NET 中的操作方法检索 Json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42638623/

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