关于 javascript:Get Critical error during Json request using Kendo UI | 珊瑚贝

Get Critical error during Json request using Kendo UI


我有问题。在我的公司,我需要尝试 Angular.js 如何与 ASP.NET MVC 一起工作。现在我想创建一个简单的小应用程序。在首页上有一个带有 Kendo UI 网格的视图。在我的 App.js 文件中,我从 Data 控制器读取数据。控制器动作被调用,但一旦代码执行完毕,我就会收到以下错误:

Error

这是我的代码的其余部分:

控制器:

1
2
3
4
5
6
[HttpGet]
public JsonResult GetEmergencyRegions([DataSourceRequest]DataSourceRequest request, string searchterm)
{
    var emergencyRegions = _repository.GetEmergencyRegionBySearchTerm(searchterm);
    return Json(emergencyRegions.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
}

App.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$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);
                  })
            }
        }
    }
};

使用网格查看

1
2
3
<kendogrid options=“gridOptions”>

</kendogrid>

在 Stackoverflow 上,我已经找到了将 ?callback=JSON_CALLBACK 添加到 jsonp URL 的方法,但它没有帮助。

通知

当我删除控制器中的 JsonRequestBehavior.AllowGet 时,我没有收到错误消息,但随后我收到了 status Code 404.

  • 如果你使用 jsonp 你必须添加那个回调,错误仍然和回调一样吗?
  • @koox00 是与回调相同的错误。


找到了解决办法。
有几件事要改变:

  • 删除控制器中的 DataSourceRequest 部分。通过此更改,关键的 JavaScript 错误消失了。

    1
    2
    3
    4
    5
    public JsonResult GetEmergencyRegions(string searchterm)
    {
        var emergencyRegions = _repository.GetEmergencyRegionBySearchTerm(searchterm);
        return Json(emergencyRegions, JsonRequestBehavior.AllowGet);
    }
  • 现在我的 App.js 中再次出现 404 错误。解决方案是将 jsonp 更改为 get。我在以下链接中找到了这个解决方案:AngularJS: how to make a jsonp request

    1
    2
    3
    4
    5
    6
    7
    8
    9
    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);
         })
    }
  • 运行解决方案并获得快乐 :-)


  • 您在 App.js 中似乎是多余的 “,”

    改变

    1
    2
    3
    4
     columns: [{
        field:“Description”,
        title:“Beschreibung”,
    },

    1
    2
    3
    4
     columns: [{
        field:“Description”,
        title:“Beschreibung”
    },


    希望对您有所帮助。

    • 也许可以帮助您 stackoverflow.com/questions/14507334/…
    • 嗯,我的 Bundle.config 看起来不错,我认为那里没有问题,但谢谢 :)
    • 请参阅stackoverflow.com/questions/34543115/…


    来源:https://www.codenong.com/34543115/

    微信公众号
    手机浏览(小程序)
    0
    分享到:
    没有账号? 忘记密码?