为什么我无法从ExtJs4中的服务器获取JSON?

时间:2012-04-25 08:29:36

标签: ajax django extjs extjs4

我想从服务器获取JSON。这里是django服务器视图功能:

def showChart(request):
    data = [{"id":1, "name":"Tom", "email":"a@a.com"}, {"id":2, "name":"Bosh", "email":"c@c.com"}]
    return HttpResponse(json.dumps(data), mimetype="application/json");

显然,showChart()将返回一个json。

我的前端extjs4代码:

Ext.onReady(function() {
Ext.define('ProductionInfo', {
    extend: 'Ext.data.Model',
    fields: ['email', 'id', 'name']
});

var store_new = Ext.create('Ext.data.Store', {
    model: 'ProductionInfo',
    proxy: {
      type: 'ajax',
      url : 'http://localhost:8000/production_data',
      reader: {
          type: 'json'
      }
    }
});

store_new.load();
alert(store_new.getCount());

});

但警告对话框显示“0”,而正确答案为“2”。那么为什么我不能从服务器获取JSON? (我可以通过Chorme和Firefox中的GET请求获得正确的JSON)

1 个答案:

答案 0 :(得分:0)

您可以查看我的样本:https://github.com/lucassus/extjs4-account-manager 这是rails应用程序,但json机制非常相似。

基本上,您必须定义一个有效proxy的模型:https://github.com/lucassus/extjs4-account-manager/blob/master/app/assets/javascripts/app/model/User.js
以及具有model属性的商店:https://github.com/lucassus/extjs4-account-manager/blob/master/app/assets/javascripts/app/store/Users.js