Javascript 使用剑道UI请求Json时出现严重错误
我有个问题。在我的公司,我需要尝试Angular.js如何与ASP.NET MVC协同工作。现在我想创建一个简单的小应用程序。在首页上有一个带有剑道UI网格的视图。在我的Javascript 使用剑道UI请求Json时出现严重错误,javascript,angularjs,json,asp.net-mvc,kendo-grid,Javascript,Angularjs,Json,Asp.net Mvc,Kendo Grid,我有个问题。在我的公司,我需要尝试Angular.js如何与ASP.NET MVC协同工作。现在我想创建一个简单的小应用程序。在首页上有一个带有剑道UI网格的视图。在我的App.js文件中,我从data控制器读取数据。调用控制器操作,但一旦代码执行完毕,就会出现以下错误: 以下是我的代码的其余部分: 控制器: [HttpGet] public JsonResult GetEmergencyRegions([DataSourceRequest]DataSourceRequest request,
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>
在Stackoverflow上,我已经找到了将?callback=JSON_callback
添加到jsonp URL
的方法,但没有任何帮助
注意
当我在我的控制器中删除JsonRequestBehavior.AllowGet
时,我没有得到错误,但随后我得到了状态代码404
似乎你在App.js中是多余的
改变
columns: [{
field: "Description",
title: "Beschreibung",
},
到
希望能有所帮助。找到了解决方案。
有几件事需要改变:
DataSourceRequest
部分。通过此更改,关键的JavaScript错误消失了
public JsonResult GetEmergencyRegions(string searchterm)
{
var emergencyRegions = _repository.GetEmergencyRegionBySearchTerm(searchterm);
return Json(emergencyRegions, JsonRequestBehavior.AllowGet);
}
jsonp
更改为get
。我在以下链接中找到了此解决方案:
如果您使用jsonp,您必须添加该回调,那么回调的错误仍然相同吗?@koox00是,回调的错误相同。也许可以帮助您,嗯,我的Bundle.config看起来不错,我认为没有问题,但谢谢:)参考
public JsonResult GetEmergencyRegions(string searchterm)
{
var emergencyRegions = _repository.GetEmergencyRegionBySearchTerm(searchterm);
return Json(emergencyRegions, JsonRequestBehavior.AllowGet);
}
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);
})
}