C# $http get失败
在我的控制器中,我构建了GetUsersByJson操作:C# $http get失败,c#,angularjs,asp.net-mvc,C#,Angularjs,Asp.net Mvc,在我的控制器中,我构建了GetUsersByJson操作: public ActionResult GetUsersByJson() { DataLayer dal = new DataLayer(); return Json(dal.Users.ToList<User>(), JsonRequestBehavior.AllowGet); } 但是它没有进入成功功能。尝试使用。然后用代替。成功 而不是 success(function
public ActionResult GetUsersByJson()
{
DataLayer dal = new DataLayer();
return Json(dal.Users.ToList<User>(), JsonRequestBehavior.AllowGet);
}
但是它没有进入成功功能。尝试使用。然后用代替。成功 而不是
success(function (data, status, headers, config) {
$scope.users = data;
});
试一试
您的
$http.get
调用中的URL
错误,它应该是/MyController/GetUsersByJson
,因为默认路由已经存在于RouteConfig.cs
中
您还需要使用.then
而不是.success
/.error
方法,因为它们是
代码
$scope.load = function () {
$http({ method: "GET", url: "/MyController/GetUsersByJson" })
.then(function (response) {
$scope.users = response.data;
}, function(error){
console.log(error); //this will print error in console.
});
};
$scope.load();
URL不应该是“/GetUsersByJson”吗?除此之外,您的成功参数与方法返回的类型不匹配(我可能错了,但如果是纯jQuery,这将是正确的)。我在其他页面中也做了同样的事情,比如ViewProducts,它也可以工作。顺便说一句,我在GetUsersByJson中放置了断点,它到达了断点,当添加一个错误函数时,json是有效的,并且很可能会通过某种信息到达断点。为什么不连接$http.error方法,看看您的代码是否在那里结束?此外,angular中HttpCallout的成功/错误样式已被弃用。我不知道他们在课堂上对我们的看法,不管我是怎么尝试的。然后就像他们在那里展示的一样,结果是一样的。解释为什么是学习的一个重要组成部分,将有助于提问者避免将来带着类似的问题回来。这也将有助于发布你将在哪里做更好的可读性的人在未来参考这个问题的替代品。帮助初始用户只是任何答案的第一个目标。请尝试添加错误处理程序以及中的第二个回调。然后。看看是否有错误。也试过了,结果是一样的。在其他视图中,我做了与问题中相同的事情,例如:$http({method:“GET”,url:“GetProductsByJsonForView”})。成功(函数(数据、状态、标题、配置){$scope.Products=data;$scope.lock=false;});你的MVC控制器名是什么?您是否检查了开发人员控制台(按F12键)是否有任何错误?注册控制器。我在代码中放置了调试器,并遵循它,但除了断点之外,我不知道如何使用它。。我第一次上网programming@Erez尝试编辑代码..然后查看控制台。。您将在控制台中得到一个错误。查看该错误对象
.then(function (data) {
$scope.users = data;
});
$scope.load = function () {
$http({ method: "GET", url: "/MyController/GetUsersByJson" })
.then(function (response) {
$scope.users = response.data;
}, function(error){
console.log(error); //this will print error in console.
});
};
$scope.load();