使用 Kendo UI Json 请求期间出现严重错误
Get Critical error during Json request using Kendo UI
我有问题。在我的公司,我需要尝试 Angular.js 如何与 ASP.NET MVC 一起工作。现在我想创建一个简单的小应用程序。在首页上有一个带有 Kendo UI 网格的视图。在我的 App.js
文件中,我从 Data
控制器读取数据。控制器操作被调用,但一旦代码执行完毕,我就会收到以下错误:
这是我的其余代码:
控制器:
[HttpGet]
public JsonResult GetEmergencyRegions([DataSourceRequest]DataSourceRequest request, string searchterm)
{
var emergencyRegions = _repository.GetEmergencyRegionBySearchTerm(searchterm);
return Json(emergencyRegions.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
}
App.js
$scope.gridOptions = {
columns: [{
field: "Description",
title: "Beschreibung"
}, {
field: "Region",
title: "Region"
}, {
field: "Phone",
title: "Telefon"
}, {
field: "HasPointOfSale",
title: "PoS"
}],
pageable: true,
dataSource: {
pageSize: 5,
transport: {
read: function (e) {
$http.jsonp('/Data/GetEmergencyRegions')
.then(function success(response) {
e.success(response.data);
}, function error(response) {
alert('something went wrong')
console.log(response);
})
}
}
}
};
使用网格查看
<kendo-grid options="gridOptions">
</kendo-grid>
在 Whosebug 上,我已经找到了将 ?callback=JSON_CALLBACK
添加到 jsonp URL
的方法,但没有帮助。
通知
当我删除控制器中的 JsonRequestBehavior.AllowGet
时,我没有收到错误,但随后收到 status Code 404
.
看来你在App.js
中多余的","
改变
columns: [{
field: "Description",
title: "Beschreibung",
},
至
columns: [{
field: "Description",
title: "Beschreibung"
},
希望对您有所帮助。
找到解决方案。
有几处需要更改:
删除 Controller 中的 DataSourceRequest
部分。通过此更改,严重的 JavaScript 错误消失了。
public JsonResult GetEmergencyRegions(string searchterm)
{
var emergencyRegions = _repository.GetEmergencyRegionBySearchTerm(searchterm);
return Json(emergencyRegions, JsonRequestBehavior.AllowGet);
}
我的 App.js 现在又出现了 404 错误。解决方案是将 jsonp
更改为 get
。我在下面 link 中找到了这个解决方案:AngularJS: how to make a jsonp request
read: function (e) {
$http.get('/Data/GetEmergencyRegions?callback=JSON_CALLBACK')
.then(function success(response) {
e.success(response.data);
}, function error(response) {
alert('something went wrong')
console.log(response);
})
}
运行 解决方案并快乐:-)
我有问题。在我的公司,我需要尝试 Angular.js 如何与 ASP.NET MVC 一起工作。现在我想创建一个简单的小应用程序。在首页上有一个带有 Kendo UI 网格的视图。在我的 App.js
文件中,我从 Data
控制器读取数据。控制器操作被调用,但一旦代码执行完毕,我就会收到以下错误:
这是我的其余代码:
控制器:
[HttpGet]
public JsonResult GetEmergencyRegions([DataSourceRequest]DataSourceRequest request, string searchterm)
{
var emergencyRegions = _repository.GetEmergencyRegionBySearchTerm(searchterm);
return Json(emergencyRegions.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
}
App.js
$scope.gridOptions = {
columns: [{
field: "Description",
title: "Beschreibung"
}, {
field: "Region",
title: "Region"
}, {
field: "Phone",
title: "Telefon"
}, {
field: "HasPointOfSale",
title: "PoS"
}],
pageable: true,
dataSource: {
pageSize: 5,
transport: {
read: function (e) {
$http.jsonp('/Data/GetEmergencyRegions')
.then(function success(response) {
e.success(response.data);
}, function error(response) {
alert('something went wrong')
console.log(response);
})
}
}
}
};
使用网格查看
<kendo-grid options="gridOptions">
</kendo-grid>
在 Whosebug 上,我已经找到了将 ?callback=JSON_CALLBACK
添加到 jsonp URL
的方法,但没有帮助。
通知
当我删除控制器中的 JsonRequestBehavior.AllowGet
时,我没有收到错误,但随后收到 status Code 404
.
看来你在App.js
中多余的","改变
columns: [{
field: "Description",
title: "Beschreibung",
},
至
columns: [{
field: "Description",
title: "Beschreibung"
},
希望对您有所帮助。
找到解决方案。 有几处需要更改:
删除 Controller 中的
DataSourceRequest
部分。通过此更改,严重的 JavaScript 错误消失了。public JsonResult GetEmergencyRegions(string searchterm) { var emergencyRegions = _repository.GetEmergencyRegionBySearchTerm(searchterm); return Json(emergencyRegions, JsonRequestBehavior.AllowGet); }
我的 App.js 现在又出现了 404 错误。解决方案是将
jsonp
更改为get
。我在下面 link 中找到了这个解决方案:AngularJS: how to make a jsonp requestread: function (e) { $http.get('/Data/GetEmergencyRegions?callback=JSON_CALLBACK') .then(function success(response) { e.success(response.data); }, function error(response) { alert('something went wrong') console.log(response); }) }
运行 解决方案并快乐:-)